diff options
Diffstat (limited to 'editor')
452 files changed, 18531 insertions, 5549 deletions
diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp index a8d3bfcc90..eabe0a95e2 100644 --- a/editor/action_map_editor.cpp +++ b/editor/action_map_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/action_map_editor.h b/editor/action_map_editor.h index e55cab3510..cf2d871469 100644 --- a/editor/action_map_editor.h +++ b/editor/action_map_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp index 9682fb07d2..1085d34c4e 100644 --- a/editor/animation_bezier_editor.cpp +++ b/editor/animation_bezier_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_bezier_editor.h b/editor/animation_bezier_editor.h index 4b46777cfe..d9bc85a258 100644 --- a/editor/animation_bezier_editor.h +++ b/editor/animation_bezier_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index e7251662b7..f4e719f552 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -3390,7 +3390,7 @@ Dictionary AnimationTrackEditor::get_state() const { state["fps_mode"] = timeline->is_using_fps(); state["zoom"] = zoom->get_value(); state["offset"] = timeline->get_value(); - state["v_scroll"] = scroll->get_v_scrollbar()->get_value(); + state["v_scroll"] = scroll->get_v_scroll_bar()->get_value(); return state; } @@ -3418,9 +3418,9 @@ void AnimationTrackEditor::set_state(const Dictionary &p_state) { timeline->set_value(0); } if (p_state.has("v_scroll")) { - scroll->get_v_scrollbar()->set_value(p_state["v_scroll"]); + scroll->get_v_scroll_bar()->set_value(p_state["v_scroll"]); } else { - scroll->get_v_scrollbar()->set_value(0); + scroll->get_v_scroll_bar()->set_value(0); } } @@ -6091,7 +6091,7 @@ AnimationTrackEditor::AnimationTrackEditor() { scroll = memnew(ScrollContainer); timeline_vbox->add_child(scroll); scroll->set_v_size_flags(SIZE_EXPAND_FILL); - VScrollBar *sb = scroll->get_v_scrollbar(); + VScrollBar *sb = scroll->get_v_scroll_bar(); scroll->remove_child(sb); timeline_scroll->add_child(sb); // Move here so timeline and tracks are always aligned. scroll->connect("gui_input", callable_mp(this, &AnimationTrackEditor::_scroll_input)); diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h index 5ebfd26322..b5d44bc0d3 100644 --- a/editor/animation_track_editor.h +++ b/editor/animation_track_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp index 3c117f28a8..a6d2225bdc 100644 --- a/editor/animation_track_editor_plugins.cpp +++ b/editor/animation_track_editor_plugins.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_track_editor_plugins.h b/editor/animation_track_editor_plugins.h index a362422c2b..271c1a000b 100644 --- a/editor/animation_track_editor_plugins.h +++ b/editor/animation_track_editor_plugins.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp index 09defac354..d9c6b72241 100644 --- a/editor/array_property_edit.cpp +++ b/editor/array_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.h b/editor/array_property_edit.h index d7e11936a3..a620b230cd 100644 --- a/editor/array_property_edit.h +++ b/editor/array_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/audio_stream_preview.cpp b/editor/audio_stream_preview.cpp index 2efcdcda31..81a6f78415 100644 --- a/editor/audio_stream_preview.cpp +++ b/editor/audio_stream_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h index 8b83235b35..bcd80a7c03 100644 --- a/editor/audio_stream_preview.h +++ b/editor/audio_stream_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index c024c909a3..4669e56e20 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1548,7 +1548,9 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) { void CodeTextEditor::goto_error() { if (!error->get_text().is_empty()) { - text_editor->unfold_line(error_line); + if (text_editor->get_line_count() != error_line) { + text_editor->unfold_line(error_line); + } text_editor->set_caret_line(error_line); text_editor->set_caret_column(error_column); text_editor->center_viewport_to_caret(); diff --git a/editor/code_editor.h b/editor/code_editor.h index 6e3bd88112..a385ae2287 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index 4945414237..0edbb182e1 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -38,6 +38,7 @@ #include "plugins/script_editor_plugin.h" #include "scene/gui/label.h" #include "scene/gui/popup_menu.h" +#include "scene/gui/spin_box.h" static Node *_find_first_script(Node *p_root, Node *p_node) { if (p_node != p_root && p_node->get_owner() != p_root) { @@ -164,6 +165,20 @@ void ConnectDialog::_tree_node_selected() { _update_ok_enabled(); } +void ConnectDialog::_unbind_count_changed(double p_count) { + for (Control *control : bind_controls) { + BaseButton *b = Object::cast_to<BaseButton>(control); + if (b) { + b->set_disabled(p_count > 0); + } + + EditorInspector *e = Object::cast_to<EditorInspector>(control); + if (e) { + e->set_read_only(p_count > 0); + } + } +} + /* * Adds a new parameter bind to connection. */ @@ -305,6 +320,10 @@ void ConnectDialog::set_dst_method(const StringName &p_method) { dst_method->set_text(p_method); } +int ConnectDialog::get_unbinds() const { + return int(unbind_count->get_value()); +} + Vector<Variant> ConnectDialog::get_binds() const { return cdbinds->params; } @@ -321,7 +340,7 @@ bool ConnectDialog::get_oneshot() const { * Returns true if ConnectDialog is being used to edit an existing connection. */ bool ConnectDialog::is_editing() const { - return bEditMode; + return edit_mode; } /* @@ -329,33 +348,35 @@ bool ConnectDialog::is_editing() const { * If creating a connection from scratch, sensible defaults are used. * If editing an existing connection, previous data is retained. */ -void ConnectDialog::init(ConnectionData c, bool bEdit) { +void ConnectDialog::init(ConnectionData p_cd, bool p_edit) { set_hide_on_ok(false); - source = static_cast<Node *>(c.source); - signal = c.signal; + source = static_cast<Node *>(p_cd.source); + signal = p_cd.signal; tree->set_selected(nullptr); tree->set_marked(source, true); - if (c.target) { - set_dst_node(static_cast<Node *>(c.target)); - set_dst_method(c.method); + if (p_cd.target) { + set_dst_node(static_cast<Node *>(p_cd.target)); + set_dst_method(p_cd.method); } _update_ok_enabled(); - bool bDeferred = (c.flags & CONNECT_DEFERRED) == CONNECT_DEFERRED; - bool bOneshot = (c.flags & CONNECT_ONESHOT) == CONNECT_ONESHOT; + bool b_deferred = (p_cd.flags & CONNECT_DEFERRED) == CONNECT_DEFERRED; + bool b_oneshot = (p_cd.flags & CONNECT_ONESHOT) == CONNECT_ONESHOT; - deferred->set_pressed(bDeferred); - oneshot->set_pressed(bOneshot); + deferred->set_pressed(b_deferred); + oneshot->set_pressed(b_oneshot); + unbind_count->set_value(p_cd.unbinds); + _unbind_count_changed(p_cd.unbinds); cdbinds->params.clear(); - cdbinds->params = c.binds; + cdbinds->params = p_cd.binds; cdbinds->notify_changed(); - bEditMode = bEdit; + edit_mode = p_edit; } void ConnectDialog::popup_dialog(const String &p_for_signal) { @@ -449,23 +470,33 @@ ConnectDialog::ConnectDialog() { type_list->add_item("Transform3D", Variant::TRANSFORM3D); type_list->add_item("Color", Variant::COLOR); type_list->select(0); + bind_controls.push_back(type_list); Button *add_bind = memnew(Button); add_bind->set_text(TTR("Add")); add_bind_hb->add_child(add_bind); add_bind->connect("pressed", callable_mp(this, &ConnectDialog::_add_bind)); + bind_controls.push_back(add_bind); Button *del_bind = memnew(Button); del_bind->set_text(TTR("Remove")); add_bind_hb->add_child(del_bind); del_bind->connect("pressed", callable_mp(this, &ConnectDialog::_remove_bind)); + bind_controls.push_back(del_bind); vbc_right->add_margin_child(TTR("Add Extra Call Argument:"), add_bind_hb); bind_editor = memnew(EditorInspector); + bind_controls.push_back(bind_editor); vbc_right->add_margin_child(TTR("Extra Call Arguments:"), bind_editor, true); + unbind_count = memnew(SpinBox); + unbind_count->set_tooltip(TTR("Allows to drop arguments sent by signal emitter.")); + unbind_count->connect("value_changed", callable_mp(this, &ConnectDialog::_unbind_count_changed)); + + vbc_right->add_margin_child(TTR("Unbind Signal Arguments:"), unbind_count); + HBoxContainer *dstm_hb = memnew(HBoxContainer); vbc_left->add_margin_child(TTR("Receiver Method:"), dstm_hb); @@ -515,7 +546,7 @@ Control *ConnectionsDockTree::make_custom_tooltip(const String &p_text) const { String text = TTR("Signal:") + " [u][b]" + p_text.get_slice("::", 0) + "[/b][/u]"; text += p_text.get_slice("::", 1).strip_edges() + "\n"; text += p_text.get_slice("::", 2).strip_edges(); - help_bit->call_deferred(SNAME("set_text"), text); //hack so it uses proper theme once inside scene + help_bit->call_deferred(SNAME("set_text"), text); // Hack so it uses proper theme once inside scene. return help_bit; } @@ -538,29 +569,32 @@ void ConnectionsDock::_make_or_edit_connection() { ERR_FAIL_COND(!it); NodePath dst_path = connect_dialog->get_dst_path(); - Node *target = selectedNode->get_node(dst_path); + Node *target = selected_node->get_node(dst_path); ERR_FAIL_COND(!target); - ConnectDialog::ConnectionData cToMake; - cToMake.source = connect_dialog->get_source(); - cToMake.target = target; - cToMake.signal = connect_dialog->get_signal_name(); - cToMake.method = connect_dialog->get_dst_method_name(); - cToMake.binds = connect_dialog->get_binds(); - bool defer = connect_dialog->get_deferred(); - bool oshot = connect_dialog->get_oneshot(); - cToMake.flags = CONNECT_PERSIST | (defer ? CONNECT_DEFERRED : 0) | (oshot ? CONNECT_ONESHOT : 0); + ConnectDialog::ConnectionData cd; + cd.source = connect_dialog->get_source(); + cd.target = target; + cd.signal = connect_dialog->get_signal_name(); + cd.method = connect_dialog->get_dst_method_name(); + cd.unbinds = connect_dialog->get_unbinds(); + if (cd.unbinds == 0) { + cd.binds = connect_dialog->get_binds(); + } + bool b_deferred = connect_dialog->get_deferred(); + bool b_oneshot = connect_dialog->get_oneshot(); + cd.flags = CONNECT_PERSIST | (b_deferred ? CONNECT_DEFERRED : 0) | (b_oneshot ? CONNECT_ONESHOT : 0); // Conditions to add function: must have a script and must not have the method already // (in the class, the script itself, or inherited). bool add_script_function = false; Ref<Script> script = target->get_script(); - if (!target->get_script().is_null() && !ClassDB::has_method(target->get_class(), cToMake.method)) { + if (!target->get_script().is_null() && !ClassDB::has_method(target->get_class(), cd.method)) { // There is a chance that the method is inherited from another script. bool found_inherited_function = false; Ref<Script> inherited_script = script->get_base_script(); while (!inherited_script.is_null()) { - int line = inherited_script->get_language()->find_function(cToMake.method, inherited_script->get_source_code()); + int line = inherited_script->get_language()->find_function(cd.method, inherited_script->get_source_code()); if (line != -1) { found_inherited_function = true; break; @@ -575,23 +609,23 @@ void ConnectionsDock::_make_or_edit_connection() { if (add_script_function) { // Pick up args here before "it" is deleted by update_tree. script_function_args = it->get_metadata(0).operator Dictionary()["args"]; - for (int i = 0; i < cToMake.binds.size(); i++) { - script_function_args.push_back("extra_arg_" + itos(i) + ":" + Variant::get_type_name(cToMake.binds[i].get_type())); + for (int i = 0; i < cd.binds.size(); i++) { + script_function_args.push_back("extra_arg_" + itos(i) + ":" + Variant::get_type_name(cd.binds[i].get_type())); } } if (connect_dialog->is_editing()) { _disconnect(*it); - _connect(cToMake); + _connect(cd); } else { - _connect(cToMake); + _connect(cd); } // IMPORTANT NOTE: _disconnect and _connect cause an update_tree, which will delete the object "it" is pointing to. it = nullptr; if (add_script_function) { - editor->emit_signal(SNAME("script_add_function_request"), target, cToMake.method, script_function_args); + editor->emit_signal(SNAME("script_add_function_request"), target, cd.method, script_function_args); hide(); } @@ -601,23 +635,21 @@ void ConnectionsDock::_make_or_edit_connection() { /* * Creates single connection w/ undo-redo functionality. */ -void ConnectionsDock::_connect(ConnectDialog::ConnectionData cToMake) { - Node *source = static_cast<Node *>(cToMake.source); - Node *target = static_cast<Node *>(cToMake.target); +void ConnectionsDock::_connect(ConnectDialog::ConnectionData p_cd) { + Node *source = Object::cast_to<Node>(p_cd.source); + Node *target = Object::cast_to<Node>(p_cd.target); if (!source || !target) { return; } - undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"), String(cToMake.signal), String(cToMake.method))); - - Callable c(target, cToMake.method); - - undo_redo->add_do_method(source, "connect", cToMake.signal, c, cToMake.binds, cToMake.flags); - undo_redo->add_undo_method(source, "disconnect", cToMake.signal, c); + Callable callable = p_cd.get_callable(); + undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"), String(p_cd.signal), String(p_cd.method))); + undo_redo->add_do_method(source, "connect", p_cd.signal, callable, varray(), p_cd.flags); + undo_redo->add_undo_method(source, "disconnect", p_cd.signal, callable); undo_redo->add_do_method(this, "update_tree"); undo_redo->add_undo_method(this, "update_tree"); - undo_redo->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); //to force redraw of scene tree + undo_redo->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); // To force redraw of scene tree. undo_redo->add_undo_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); undo_redo->commit_action(); @@ -626,16 +658,17 @@ void ConnectionsDock::_connect(ConnectDialog::ConnectionData cToMake) { /* * Break single connection w/ undo-redo functionality. */ -void ConnectionsDock::_disconnect(TreeItem &item) { - Connection cd = item.get_metadata(0); - ConnectDialog::ConnectionData c = cd; +void ConnectionsDock::_disconnect(TreeItem &p_item) { + Connection connection = p_item.get_metadata(0); + ConnectDialog::ConnectionData cd = connection; - ERR_FAIL_COND(c.source != selectedNode); // Shouldn't happen but... Bugcheck. + ERR_FAIL_COND(cd.source != selected_node); // Shouldn't happen but... Bugcheck. - undo_redo->create_action(vformat(TTR("Disconnect '%s' from '%s'"), c.signal, c.method)); + undo_redo->create_action(vformat(TTR("Disconnect '%s' from '%s'"), cd.signal, cd.method)); - undo_redo->add_do_method(selectedNode, "disconnect", c.signal, Callable(c.target, c.method)); - undo_redo->add_undo_method(selectedNode, "connect", c.signal, Callable(c.target, c.method), c.binds, c.flags); + Callable callable = cd.get_callable(); + undo_redo->add_do_method(selected_node, "disconnect", cd.signal, callable); + undo_redo->add_undo_method(selected_node, "connect", cd.signal, callable, cd.binds, cd.flags); undo_redo->add_do_method(this, "update_tree"); undo_redo->add_undo_method(this, "update_tree"); undo_redo->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); // To force redraw of scene tree. @@ -656,14 +689,14 @@ void ConnectionsDock::_disconnect_all() { } TreeItem *child = item->get_first_child(); - String signalName = item->get_metadata(0).operator Dictionary()["name"]; - undo_redo->create_action(vformat(TTR("Disconnect all from signal: '%s'"), signalName)); + String signal_name = item->get_metadata(0).operator Dictionary()["name"]; + undo_redo->create_action(vformat(TTR("Disconnect all from signal: '%s'"), signal_name)); while (child) { - Connection cd = child->get_metadata(0); - ConnectDialog::ConnectionData c = cd; - undo_redo->add_do_method(selectedNode, "disconnect", c.signal, Callable(c.target, c.method)); - undo_redo->add_undo_method(selectedNode, "connect", c.signal, Callable(c.target, c.method), c.binds, c.flags); + Connection connection = child->get_metadata(0); + ConnectDialog::ConnectionData cd = connection; + undo_redo->add_do_method(selected_node, "disconnect", cd.signal, cd.get_callable()); + undo_redo->add_undo_method(selected_node, "connect", cd.signal, cd.get_callable(), cd.binds, cd.flags); child = child->get_next(); } @@ -704,100 +737,118 @@ void ConnectionsDock::_tree_item_activated() { // "Activation" on double-click. } } -bool ConnectionsDock::_is_item_signal(TreeItem &item) { - return (item.get_parent() == tree->get_root() || item.get_parent()->get_parent() == tree->get_root()); +bool ConnectionsDock::_is_item_signal(TreeItem &p_item) { + return (p_item.get_parent() == tree->get_root() || p_item.get_parent()->get_parent() == tree->get_root()); } /* * Open connection dialog with TreeItem data to CREATE a brand-new connection. */ -void ConnectionsDock::_open_connection_dialog(TreeItem &item) { - String signal = item.get_metadata(0).operator Dictionary()["name"]; - const String &signalname = signal; - String midname = selectedNode->get_name(); - for (int i = 0; i < midname.length(); i++) { //TODO: Regex filter may be cleaner. - char32_t c = midname[i]; +void ConnectionsDock::_open_connection_dialog(TreeItem &p_item) { + String signal_name = p_item.get_metadata(0).operator Dictionary()["name"]; + const String &signal_name_ref = signal_name; + String node_name = selected_node->get_name(); + for (int i = 0; i < node_name.length(); i++) { // TODO: Regex filter may be cleaner. + char32_t c = node_name[i]; if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_')) { if (c == ' ') { // Replace spaces with underlines. c = '_'; } else { // Remove any other characters. - midname.remove_at(i); + node_name.remove_at(i); i--; continue; } } - midname[i] = c; + node_name[i] = c; } - Node *dst_node = selectedNode->get_owner() ? selectedNode->get_owner() : selectedNode; + Node *dst_node = selected_node->get_owner() ? selected_node->get_owner() : selected_node; if (!dst_node || dst_node->get_script().is_null()) { dst_node = _find_first_script(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root()); } - StringName dst_method = "_on_" + midname + "_" + signal; + Dictionary subst; - ConnectDialog::ConnectionData c; - c.source = selectedNode; - c.signal = StringName(signalname); - c.target = dst_node; - c.method = dst_method; - connect_dialog->popup_dialog(signalname); - connect_dialog->init(c); + String s = node_name.capitalize().replace(" ", ""); + subst["NodeName"] = s; + if (!s.is_empty()) { + s[0] = s.to_lower()[0]; + } + subst["nodeName"] = s; + subst["node_name"] = node_name.capitalize().replace(" ", "_").to_lower(); + + s = signal_name.capitalize().replace(" ", ""); + subst["SignalName"] = s; + if (!s.is_empty()) { + s[0] = s.to_lower()[0]; + } + subst["signalName"] = s; + subst["signal_name"] = signal_name.capitalize().replace(" ", "_").to_lower(); + + String dst_method = String(EDITOR_GET("interface/editors/default_signal_callback_name")).format(subst); + + ConnectDialog::ConnectionData cd; + cd.source = selected_node; + cd.signal = StringName(signal_name_ref); + cd.target = dst_node; + cd.method = StringName(dst_method); + connect_dialog->popup_dialog(signal_name_ref); + connect_dialog->init(cd); connect_dialog->set_title(TTR("Connect a Signal to a Method")); } /* * Open connection dialog with Connection data to EDIT an existing connection. */ -void ConnectionsDock::_open_connection_dialog(ConnectDialog::ConnectionData cToEdit) { - Node *src = static_cast<Node *>(cToEdit.source); - Node *dst = static_cast<Node *>(cToEdit.target); +void ConnectionsDock::_open_connection_dialog(ConnectDialog::ConnectionData p_cd) { + Node *src = Object::cast_to<Node>(p_cd.source); + Node *dst = Object::cast_to<Node>(p_cd.target); if (src && dst) { - const String &signalname = cToEdit.signal; - connect_dialog->set_title(TTR("Edit Connection:") + cToEdit.signal); - connect_dialog->popup_dialog(signalname); - connect_dialog->init(cToEdit, true); + const String &signal_name_ref = p_cd.signal; + connect_dialog->set_title(TTR("Edit Connection:") + p_cd.signal); + connect_dialog->popup_dialog(signal_name_ref); + connect_dialog->init(p_cd, true); } } /* * Open slot method location in script editor. */ -void ConnectionsDock::_go_to_script(TreeItem &item) { - if (_is_item_signal(item)) { +void ConnectionsDock::_go_to_script(TreeItem &p_item) { + if (_is_item_signal(p_item)) { return; } - Connection cd = item.get_metadata(0); - ConnectDialog::ConnectionData c = cd; - ERR_FAIL_COND(c.source != selectedNode); //shouldn't happen but...bugcheck + Connection connection = p_item.get_metadata(0); + ConnectDialog::ConnectionData cd = connection; + ERR_FAIL_COND(cd.source != selected_node); // Shouldn't happen but... bugcheck. - if (!c.target) { + if (!cd.target) { return; } - Ref<Script> script = c.target->get_script(); + Ref<Script> script = cd.target->get_script(); if (script.is_null()) { return; } - if (script.is_valid() && ScriptEditor::get_singleton()->script_goto_method(script, c.method)) { + if (script.is_valid() && ScriptEditor::get_singleton()->script_goto_method(script, cd.method)) { editor->call("_editor_select", EditorNode::EDITOR_SCRIPT); } } -void ConnectionsDock::_handle_signal_menu_option(int option) { +void ConnectionsDock::_handle_signal_menu_option(int p_option) { TreeItem *item = tree->get_selected(); if (!item) { return; } - switch (option) { + switch (p_option) { case CONNECT: { _open_connection_dialog(*item); } break; @@ -809,17 +860,17 @@ void ConnectionsDock::_handle_signal_menu_option(int option) { } } -void ConnectionsDock::_handle_slot_menu_option(int option) { +void ConnectionsDock::_handle_slot_menu_option(int p_option) { TreeItem *item = tree->get_selected(); if (!item) { return; } - switch (option) { + switch (p_option) { case EDIT: { - Connection c = item->get_metadata(0); - _open_connection_dialog(c); + Connection connection = item->get_metadata(0); + _open_connection_dialog(connection); } break; case GO_TO_SCRIPT: { _go_to_script(*item); @@ -831,14 +882,14 @@ void ConnectionsDock::_handle_slot_menu_option(int option) { } } -void ConnectionsDock::_rmb_pressed(Vector2 position) { +void ConnectionsDock::_rmb_pressed(Vector2 p_position) { TreeItem *item = tree->get_selected(); if (!item) { return; } - Vector2 screen_position = tree->get_screen_position() + position; + Vector2 screen_position = tree->get_screen_position() + p_position; if (_is_item_signal(*item)) { signal_menu->set_position(screen_position); @@ -881,14 +932,14 @@ void ConnectionsDock::_bind_methods() { } void ConnectionsDock::set_node(Node *p_node) { - selectedNode = p_node; + selected_node = p_node; update_tree(); } void ConnectionsDock::update_tree() { tree->clear(); - if (!selectedNode) { + if (!selected_node) { return; } @@ -896,10 +947,10 @@ void ConnectionsDock::update_tree() { List<MethodInfo> node_signals; - selectedNode->get_signal_list(&node_signals); + selected_node->get_signal_list(&node_signals); bool did_script = false; - StringName base = selectedNode->get_class(); + StringName base = selected_node->get_class(); while (base) { List<MethodInfo> node_signals2; @@ -908,7 +959,7 @@ void ConnectionsDock::update_tree() { if (!did_script) { // Get script signals (including signals from any base scripts). - Ref<Script> scr = selectedNode->get_script(); + Ref<Script> scr = selected_node->get_script(); if (scr.is_valid()) { scr->get_script_signal_list(&node_signals2); if (scr->get_path().is_resource_file()) { @@ -1021,44 +1072,45 @@ void ConnectionsDock::update_tree() { signal_item->set_tooltip(0, String(signal_name) + "::" + signaldesc + "::" + descr); } - // List existing connections + // List existing connections. List<Object::Connection> connections; - selectedNode->get_signal_connection_list(signal_name, &connections); + selected_node->get_signal_connection_list(signal_name, &connections); for (const Object::Connection &F : connections) { - Connection cn = F; - if (!(cn.flags & CONNECT_PERSIST)) { + Connection connection = F; + if (!(connection.flags & CONNECT_PERSIST)) { continue; } - ConnectDialog::ConnectionData c = cn; + ConnectDialog::ConnectionData cd = connection; - Node *target = Object::cast_to<Node>(c.target); + Node *target = Object::cast_to<Node>(cd.target); if (!target) { continue; } - String path = String(selectedNode->get_path_to(target)) + " :: " + c.method + "()"; - if (c.flags & CONNECT_DEFERRED) { + String path = String(selected_node->get_path_to(target)) + " :: " + cd.method + "()"; + if (cd.flags & CONNECT_DEFERRED) { path += " (deferred)"; } - if (c.flags & CONNECT_ONESHOT) { + if (cd.flags & CONNECT_ONESHOT) { path += " (oneshot)"; } - if (c.binds.size()) { + if (cd.unbinds > 0) { + path += " unbinds(" + itos(cd.unbinds) + ")"; + } else if (!cd.binds.is_empty()) { path += " binds("; - for (int i = 0; i < c.binds.size(); i++) { + for (int i = 0; i < cd.binds.size(); i++) { if (i > 0) { path += ", "; } - path += c.binds[i].operator String(); + path += cd.binds[i].operator String(); } path += ")"; } TreeItem *connection_item = tree->create_item(signal_item); connection_item->set_text(0, path); - Connection cd = c; - connection_item->set_metadata(0, cd); + connection_item->set_metadata(0, connection); connection_item->set_icon(0, get_theme_icon(SNAME("Slot"), SNAME("EditorIcons"))); } } @@ -1130,6 +1182,8 @@ ConnectionsDock::ConnectionsDock(EditorNode *p_editor) { tree->connect("item_rmb_selected", callable_mp(this, &ConnectionsDock::_rmb_pressed)); add_theme_constant_override("separation", 3 * EDSCALE); + + EDITOR_DEF("interface/editors/default_signal_callback_name", "_on_{node_name}_{signal_name}"); } ConnectionsDock::~ConnectionsDock() { diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index b9911c1cc5..2759c6cfde 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -48,6 +48,7 @@ class PopupMenu; class ConnectDialogBinds; +class SpinBox; class ConnectDialog : public ConfirmationDialog { GDCLASS(ConnectDialog, ConfirmationDialog); @@ -59,25 +60,45 @@ public: StringName signal; StringName method; uint32_t flags = 0; + int unbinds = 0; Vector<Variant> binds; - ConnectionData() { - } + ConnectionData() {} + ConnectionData(const Connection &p_connection) { source = Object::cast_to<Node>(p_connection.signal.get_object()); signal = p_connection.signal.get_name(); target = Object::cast_to<Node>(p_connection.callable.get_object()); - method = p_connection.callable.get_method(); flags = p_connection.flags; - binds = p_connection.binds; + + Callable base_callable; + if (p_connection.callable.is_custom()) { + CallableCustomBind *ccb = dynamic_cast<CallableCustomBind *>(p_connection.callable.get_custom()); + if (ccb) { + binds = ccb->get_binds(); + base_callable = ccb->get_callable(); + } + + CallableCustomUnbind *ccu = dynamic_cast<CallableCustomUnbind *>(p_connection.callable.get_custom()); + if (ccu) { + unbinds = ccu->get_unbinds(); + base_callable = ccu->get_callable(); + } + } else { + base_callable = p_connection.callable; + } + method = base_callable.get_method(); } - operator Connection() { - Connection c; - c.signal = ::Signal(source, signal); - c.callable = Callable(target, method); - c.flags = flags; - c.binds = binds; - return c; + + Callable get_callable() { + if (unbinds > 0) { + return Callable(target, method).unbind(unbinds); + } else if (!binds.is_empty()) { + const Variant *args = binds.ptr(); + return Callable(target, method).bind(&args, binds.size()); + } else { + return Callable(target, method); + } } }; @@ -88,25 +109,28 @@ private: StringName signal; LineEdit *dst_method; ConnectDialogBinds *cdbinds; - bool bEditMode; + bool edit_mode; NodePath dst_path; VBoxContainer *vbc_right; SceneTreeEditor *tree; AcceptDialog *error; + SpinBox *unbind_count; EditorInspector *bind_editor; OptionButton *type_list; CheckBox *deferred; CheckBox *oneshot; CheckButton *advanced; + Vector<Control *> bind_controls; Label *error_label; void ok_pressed() override; void _cancel_pressed(); void _item_activated(); - void _text_submitted(const String &_text); + void _text_submitted(const String &p_text); void _tree_node_selected(); + void _unbind_count_changed(double p_count); void _add_bind(); void _remove_bind(); void _advanced_pressed(); @@ -123,13 +147,14 @@ public: void set_dst_node(Node *p_node); StringName get_dst_method_name() const; void set_dst_method(const StringName &p_method); + int get_unbinds() const; Vector<Variant> get_binds() const; bool get_deferred() const; bool get_oneshot() const; bool is_editing() const; - void init(ConnectionData c, bool bEdit = false); + void init(ConnectionData p_cd, bool p_edit = false); void popup_dialog(const String &p_for_signal); ConnectDialog(); @@ -159,7 +184,7 @@ class ConnectionsDock : public VBoxContainer { DISCONNECT }; - Node *selectedNode; + Node *selected_node; ConnectionsDockTree *tree; EditorNode *editor; @@ -176,21 +201,21 @@ class ConnectionsDock : public VBoxContainer { void _filter_changed(const String &p_text); void _make_or_edit_connection(); - void _connect(ConnectDialog::ConnectionData cToMake); - void _disconnect(TreeItem &item); + void _connect(ConnectDialog::ConnectionData p_cd); + void _disconnect(TreeItem &p_item); void _disconnect_all(); void _tree_item_selected(); void _tree_item_activated(); - bool _is_item_signal(TreeItem &item); + bool _is_item_signal(TreeItem &p_item); - void _open_connection_dialog(TreeItem &item); - void _open_connection_dialog(ConnectDialog::ConnectionData cToEdit); - void _go_to_script(TreeItem &item); + void _open_connection_dialog(TreeItem &p_item); + void _open_connection_dialog(ConnectDialog::ConnectionData p_cd); + void _go_to_script(TreeItem &p_item); - void _handle_signal_menu_option(int option); - void _handle_slot_menu_option(int option); - void _rmb_pressed(Vector2 position); + void _handle_signal_menu_option(int p_option); + void _handle_slot_menu_option(int p_option); + void _rmb_pressed(Vector2 p_position); void _close(); protected: diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 6bf14df8a1..608eab9a9f 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/create_dialog.h b/editor/create_dialog.h index b08cb72f14..c36730c4f0 100644 --- a/editor/create_dialog.h +++ b/editor/create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.cpp b/editor/debugger/debug_adapter/debug_adapter_parser.cpp index 485d58f4a3..ff4051fc67 100644 --- a/editor/debugger/debug_adapter/debug_adapter_parser.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -109,7 +109,7 @@ Dictionary DebugAdapterParser::prepare_error_response(const Dictionary &p_params case DAP::ErrorType::UNKNOWN: default: error = "unknown"; - error_desc = "An unknown error has ocurred when processing the request."; + error_desc = "An unknown error has occurred when processing the request."; break; } @@ -412,7 +412,7 @@ Dictionary DebugAdapterParser::req_scopes(const Dictionary &p_params) const { } Dictionary DebugAdapterParser::req_variables(const Dictionary &p_params) const { - // If _remaining_vars > 0, the debugee is still sending a stack dump to the editor. + // If _remaining_vars > 0, the debuggee is still sending a stack dump to the editor. if (DebugAdapterProtocol::get_singleton()->_remaining_vars > 0) { return Dictionary(); } diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.h b/editor/debugger/debug_adapter/debug_adapter_parser.h index 4c93464e39..f458151e17 100644 --- a/editor/debugger/debug_adapter/debug_adapter_parser.h +++ b/editor/debugger/debug_adapter/debug_adapter_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp index 36fbf8adf1..babe8af8bc 100644 --- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.h b/editor/debugger/debug_adapter/debug_adapter_protocol.h index d4291992bf..b54a5f1f3f 100644 --- a/editor/debugger/debug_adapter/debug_adapter_protocol.h +++ b/editor/debugger/debug_adapter/debug_adapter_protocol.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_server.cpp b/editor/debugger/debug_adapter/debug_adapter_server.cpp index 4775e2c8b0..ffbbf66015 100644 --- a/editor/debugger/debug_adapter/debug_adapter_server.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_server.h b/editor/debugger/debug_adapter/debug_adapter_server.h index c449403cc2..a2b01f92c6 100644 --- a/editor/debugger/debug_adapter/debug_adapter_server.h +++ b/editor/debugger/debug_adapter/debug_adapter_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_types.h b/editor/debugger/debug_adapter/debug_adapter_types.h index 5156c91d14..77b70909b3 100644 --- a/editor/debugger/debug_adapter/debug_adapter_types.h +++ b/editor/debugger/debug_adapter/debug_adapter_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index 9346b8f1af..addb168e5f 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h index 6648c99c03..5cdc4417d0 100644 --- a/editor/debugger/editor_debugger_inspector.h +++ b/editor/debugger/editor_debugger_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp index 8ea028a7de..5bc2be60a7 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_node.h b/editor/debugger/editor_debugger_node.h index 135122db68..6fcdbf5f73 100644 --- a/editor/debugger/editor_debugger_node.h +++ b/editor/debugger/editor_debugger_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_server.cpp b/editor/debugger/editor_debugger_server.cpp index 34904d55aa..bce131a5fe 100644 --- a/editor/debugger/editor_debugger_server.cpp +++ b/editor/debugger/editor_debugger_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_server.h b/editor/debugger/editor_debugger_server.h index 6a4ca895d1..bda4a1ce7d 100644 --- a/editor/debugger/editor_debugger_server.h +++ b/editor/debugger/editor_debugger_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_tree.cpp b/editor/debugger/editor_debugger_tree.cpp index be369aa0ca..70d64615ae 100644 --- a/editor/debugger/editor_debugger_tree.cpp +++ b/editor/debugger/editor_debugger_tree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_tree.h b/editor/debugger/editor_debugger_tree.h index 13193344f1..58af52b01f 100644 --- a/editor/debugger/editor_debugger_tree.h +++ b/editor/debugger/editor_debugger_tree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_network_profiler.cpp b/editor/debugger/editor_network_profiler.cpp index 8b1f0085d5..698e950f57 100644 --- a/editor/debugger/editor_network_profiler.cpp +++ b/editor/debugger/editor_network_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_network_profiler.h b/editor/debugger/editor_network_profiler.h index 8c1da1cb2d..320dd2a826 100644 --- a/editor/debugger/editor_network_profiler.h +++ b/editor/debugger/editor_network_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_performance_profiler.cpp b/editor/debugger/editor_performance_profiler.cpp index 6106f1755d..56d1e7cee9 100644 --- a/editor/debugger/editor_performance_profiler.cpp +++ b/editor/debugger/editor_performance_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_performance_profiler.h b/editor/debugger/editor_performance_profiler.h index ea3404b208..998ecc5bb6 100644 --- a/editor/debugger/editor_performance_profiler.h +++ b/editor/debugger/editor_performance_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp index 2bdacb51b8..d5e825a26c 100644 --- a/editor/debugger/editor_profiler.cpp +++ b/editor/debugger/editor_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -645,7 +645,7 @@ EditorProfiler::EditorProfiler() { variables->connect("item_edited", callable_mp(this, &EditorProfiler::_item_edited)); graph = memnew(TextureRect); - graph->set_expand(true); + graph->set_ignore_texture_size(true); graph->set_mouse_filter(MOUSE_FILTER_STOP); graph->connect("draw", callable_mp(this, &EditorProfiler::_graph_tex_draw)); graph->connect("gui_input", callable_mp(this, &EditorProfiler::_graph_tex_input)); diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h index 8880824b87..45f7ac39c1 100644 --- a/editor/debugger/editor_profiler.h +++ b/editor/debugger/editor_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_visual_profiler.cpp b/editor/debugger/editor_visual_profiler.cpp index a4e4ed4020..3cb5d3513d 100644 --- a/editor/debugger/editor_visual_profiler.cpp +++ b/editor/debugger/editor_visual_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -786,7 +786,7 @@ EditorVisualProfiler::EditorVisualProfiler() { variables->connect("cell_selected", callable_mp(this, &EditorVisualProfiler::_item_selected)); graph = memnew(TextureRect); - graph->set_expand(true); + graph->set_ignore_texture_size(true); graph->set_mouse_filter(MOUSE_FILTER_STOP); //graph->set_ignore_mouse(false); graph->connect("draw", callable_mp(this, &EditorVisualProfiler::_graph_tex_draw)); diff --git a/editor/debugger/editor_visual_profiler.h b/editor/debugger/editor_visual_profiler.h index 6b04fdbafc..55ba725ae8 100644 --- a/editor/debugger/editor_visual_profiler.h +++ b/editor/debugger/editor_visual_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index 4f7dc78017..b72a20ee2f 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/script_editor_debugger.h b/editor/debugger/script_editor_debugger.h index 76209aef46..ff1a852f26 100644 --- a/editor/debugger/script_editor_debugger.h +++ b/editor/debugger/script_editor_debugger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index 1cc8cc01ce..9879671e7b 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h index b17a685df8..d50b0849b7 100644 --- a/editor/dependency_editor.h +++ b/editor/dependency_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp index 408177e523..30082f2e1a 100644 --- a/editor/dictionary_property_edit.cpp +++ b/editor/dictionary_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.h b/editor/dictionary_property_edit.h index d1401c5e5f..4639480828 100644 --- a/editor/dictionary_property_edit.h +++ b/editor/dictionary_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp index b9491998a0..a71e16b66c 100644 --- a/editor/doc_tools.cpp +++ b/editor/doc_tools.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_tools.h b/editor/doc_tools.h index 809eedff2a..6c3a93de59 100644 --- a/editor/doc_tools.h +++ b/editor/doc_tools.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp index 2de92f5184..54377971c6 100644 --- a/editor/editor_about.cpp +++ b/editor/editor_about.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -154,7 +154,7 @@ EditorAbout::EditorAbout() { Label *about_text = memnew(Label); about_text->set_v_size_flags(Control::SIZE_SHRINK_CENTER); - about_text->set_text(String::utf8("\xc2\xa9 2007-2021 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2021 ") + + about_text->set_text(String::utf8("\xc2\xa9 2007-2022 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2022 ") + TTR("Godot Engine contributors") + "\n"); version_info_vbc->add_child(about_text); diff --git a/editor/editor_about.h b/editor/editor_about.h index b76a2ada34..e57b211ed4 100644 --- a/editor/editor_about.h +++ b/editor/editor_about.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp index 6c64c53837..1de67149c6 100644 --- a/editor/editor_asset_installer.cpp +++ b/editor/editor_asset_installer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -124,7 +124,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) { char fname[16384]; unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String name = fname; + String name = String::utf8(fname); files_sorted.insert(name); ret = unzGoToNextFile(pkg); @@ -303,7 +303,7 @@ void EditorAssetInstaller::ok_pressed() { char fname[16384]; ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String name = fname; + String name = String::utf8(fname); if (status_map.has(name) && status_map[name]->is_checked(0)) { String path = status_map[name]->get_metadata(0); diff --git a/editor/editor_asset_installer.h b/editor/editor_asset_installer.h index 9fafe2792a..2f59250933 100644 --- a/editor/editor_asset_installer.h +++ b/editor/editor_asset_installer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_atlas_packer.cpp b/editor/editor_atlas_packer.cpp index b8eba7e3f8..b6ec5d1bad 100644 --- a/editor/editor_atlas_packer.cpp +++ b/editor/editor_atlas_packer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_atlas_packer.h b/editor/editor_atlas_packer.h index 89824dff1c..133c516d80 100644 --- a/editor/editor_atlas_packer.h +++ b/editor/editor_atlas_packer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 81a1f26818..0829b9d24f 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index eb54bb3efb..f856556363 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index 418d7d58ef..d74a6e12b2 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h index b8e054cd14..20f6bf476f 100644 --- a/editor/editor_autoload_settings.h +++ b/editor/editor_autoload_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp index 6bc23c352a..1724e87489 100644 --- a/editor/editor_command_palette.cpp +++ b/editor/editor_command_palette.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_command_palette.h b/editor/editor_command_palette.h index 8836c7b0fb..41141af0c3 100644 --- a/editor/editor_command_palette.h +++ b/editor/editor_command_palette.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 390a2998d6..7a0a4abbff 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_data.h b/editor/editor_data.h index 976d718b8e..ccf641ff26 100644 --- a/editor/editor_data.h +++ b/editor/editor_data.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp index 61b655098f..39054b7033 100644 --- a/editor/editor_dir_dialog.cpp +++ b/editor/editor_dir_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_dir_dialog.h b/editor/editor_dir_dialog.h index ef473b0779..053c1f5503 100644 --- a/editor/editor_dir_dialog.h +++ b/editor/editor_dir_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 95affb09b6..014e27ae15 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -620,6 +620,14 @@ String EditorExportPlugin::get_ios_cpp_code() const { return ios_cpp_code; } +void EditorExportPlugin::add_osx_plugin_file(const String &p_path) { + osx_plugin_files.push_back(p_path); +} + +const Vector<String> &EditorExportPlugin::get_osx_plugin_files() const { + return osx_plugin_files; +} + void EditorExportPlugin::add_ios_project_static_lib(const String &p_path) { ios_project_static_libs.push_back(p_path); } @@ -660,6 +668,7 @@ void EditorExportPlugin::_bind_methods() { ClassDB::bind_method(D_METHOD("add_ios_linker_flags", "flags"), &EditorExportPlugin::add_ios_linker_flags); ClassDB::bind_method(D_METHOD("add_ios_bundle_file", "path"), &EditorExportPlugin::add_ios_bundle_file); ClassDB::bind_method(D_METHOD("add_ios_cpp_code", "code"), &EditorExportPlugin::add_ios_cpp_code); + ClassDB::bind_method(D_METHOD("add_osx_plugin_file", "path"), &EditorExportPlugin::add_osx_plugin_file); ClassDB::bind_method(D_METHOD("skip"), &EditorExportPlugin::skip); GDVIRTUAL_BIND(_export_file, "path", "type", "features"); diff --git a/editor/editor_export.h b/editor/editor_export.h index 1a5b8e6026..3d46ae1996 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -308,6 +308,8 @@ class EditorExportPlugin : public RefCounted { Vector<String> ios_bundle_files; String ios_cpp_code; + Vector<String> osx_plugin_files; + _FORCE_INLINE_ void _clear() { shared_objects.clear(); extra_files.clear(); @@ -321,6 +323,7 @@ class EditorExportPlugin : public RefCounted { ios_plist_content = ""; ios_linker_flags = ""; ios_cpp_code = ""; + osx_plugin_files.clear(); } void _export_file_script(const String &p_path, const String &p_type, const Vector<String> &p_features); @@ -341,6 +344,7 @@ protected: void add_ios_linker_flags(const String &p_flags); void add_ios_bundle_file(const String &p_path); void add_ios_cpp_code(const String &p_code); + void add_osx_plugin_file(const String &p_path); void skip(); @@ -361,6 +365,7 @@ public: String get_ios_linker_flags() const; Vector<String> get_ios_bundle_files() const; String get_ios_cpp_code() const; + const Vector<String> &get_osx_plugin_files() const; EditorExportPlugin(); }; diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp index 2ca91043e1..94262c2289 100644 --- a/editor/editor_feature_profile.cpp +++ b/editor/editor_feature_profile.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_feature_profile.h b/editor/editor_feature_profile.h index d31498bfc6..c5f4ad60f4 100644 --- a/editor/editor_feature_profile.h +++ b/editor/editor_feature_profile.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index a35458d284..dee00b6678 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -723,7 +723,7 @@ void EditorFileDialog::update_file_list() { item_list->clear(); // Scroll back to the top after opening a directory - item_list->get_v_scroll()->set_value(0); + item_list->get_v_scroll_bar()->set_value(0); if (display_mode == DISPLAY_THUMBNAILS) { item_list->set_max_columns(0); diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index ed427dc76e..b7abfe0836 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index d515b58e37..a0673c8fb7 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index feadd0f2b2..ecc71e7d42 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp index b8341ee406..266a064807 100644 --- a/editor/editor_folding.cpp +++ b/editor/editor_folding.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_folding.h b/editor/editor_folding.h index 90deb7c0e8..442d710d71 100644 --- a/editor/editor_folding.h +++ b/editor/editor_folding.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp index c65bfa6472..d556255a8f 100644 --- a/editor/editor_fonts.cpp +++ b/editor/editor_fonts.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -273,8 +273,8 @@ void editor_register_fonts(Ref<Theme> p_theme) { // Default font MAKE_DEFAULT_FONT(df, String()); - p_theme->set_default_theme_font(df); // Default theme font - p_theme->set_default_theme_font_size(default_font_size); + p_theme->set_default_font(df); // Default theme font + p_theme->set_default_font_size(default_font_size); p_theme->set_font_size("main_size", "EditorFonts", default_font_size); p_theme->set_font("main", "EditorFonts", df); diff --git a/editor/editor_fonts.h b/editor/editor_fonts.h index 59ee482b53..e450af00da 100644 --- a/editor/editor_fonts.h +++ b/editor/editor_fonts.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index fc1e7ef389..06e3a63f4a 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1724,14 +1724,34 @@ void EditorHelp::_add_text(const String &p_bbcode) { _add_text_to_rt(p_bbcode, class_desc); } -void EditorHelp::generate_doc() { - doc = memnew(DocTools); - doc->generate(true); +Thread EditorHelp::thread; + +void EditorHelp::_wait_for_thread() { + if (thread.is_started()) { + thread.wait_to_finish(); + } +} + +void EditorHelp::_gen_doc_thread(void *p_udata) { DocTools compdoc; compdoc.load_compressed(_doc_data_compressed, _doc_data_compressed_size, _doc_data_uncompressed_size); doc->merge_from(compdoc); //ensure all is up to date } +static bool doc_gen_use_threads = true; + +void EditorHelp::generate_doc() { + doc = memnew(DocTools); + // Not doable on threads unfortunately, since it instantiates all sorts of classes to get default values. + doc->generate(true); + + if (doc_gen_use_threads) { + thread.start(_gen_doc_thread, nullptr); + } else { + _gen_doc_thread(nullptr); + } +} + void EditorHelp::_toggle_scripts_pressed() { ScriptEditor::get_singleton()->toggle_scripts_panel(); update_toggle_scripts_button(); @@ -1741,6 +1761,7 @@ void EditorHelp::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { + _wait_for_thread(); _update_doc(); } break; case NOTIFICATION_THEME_CHANGED: { @@ -1758,20 +1779,32 @@ void EditorHelp::_notification(int p_what) { } void EditorHelp::go_to_help(const String &p_help) { + _wait_for_thread(); _help_callback(p_help); } void EditorHelp::go_to_class(const String &p_class, int p_scroll) { + _wait_for_thread(); _goto_desc(p_class, p_scroll); } void EditorHelp::update_doc() { + _wait_for_thread(); ERR_FAIL_COND(!doc->class_list.has(edited_class)); ERR_FAIL_COND(!doc->class_list[edited_class].is_script_doc); _update_doc(); } +void EditorHelp::cleanup_doc() { + _wait_for_thread(); + if (doc_gen_use_threads) { + thread.wait_to_finish(); + } + memdelete(doc); +} + Vector<Pair<String, int>> EditorHelp::get_sections() { + _wait_for_thread(); Vector<Pair<String, int>> sections; for (int i = 0; i < section_line.size(); i++) { @@ -1781,11 +1814,13 @@ Vector<Pair<String, int>> EditorHelp::get_sections() { } void EditorHelp::scroll_to_section(int p_section_index) { + _wait_for_thread(); int line = section_line[p_section_index].second; class_desc->scroll_to_paragraph(line); } void EditorHelp::popup_search() { + _wait_for_thread(); find_bar->popup_search(); } @@ -1798,11 +1833,11 @@ void EditorHelp::search_again(bool p_search_previous) { } int EditorHelp::get_scroll() const { - return class_desc->get_v_scroll()->get_value(); + return class_desc->get_v_scroll_bar()->get_value(); } void EditorHelp::set_scroll(int p_scroll) { - class_desc->get_v_scroll()->set_value(p_scroll); + class_desc->get_v_scroll_bar()->set_value(p_scroll); } void EditorHelp::update_toggle_scripts_button() { @@ -1864,6 +1899,11 @@ EditorHelp::EditorHelp() { EditorHelp::~EditorHelp() { } +DocTools *EditorHelp::get_doc_data() { + _wait_for_thread(); + return doc; +} + void EditorHelpBit::_go_to_help(String p_what) { EditorNode::get_singleton()->set_visible_editor(EditorNode::EDITOR_SCRIPT); ScriptEditor::get_singleton()->goto_help(p_what); diff --git a/editor/editor_help.h b/editor/editor_help.h index 393e4a940a..eb879c6d39 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #ifndef EDITOR_HELP_H #define EDITOR_HELP_H +#include "core/os/thread.h" #include "editor/code_editor.h" #include "editor/doc_tools.h" #include "editor/editor_plugin.h" @@ -164,13 +165,19 @@ class EditorHelp : public VBoxContainer { String _fix_constant(const String &p_constant) const; void _toggle_scripts_pressed(); + static Thread thread; + + static void _wait_for_thread(); + static void _gen_doc_thread(void *p_udata); + protected: void _notification(int p_what); static void _bind_methods(); public: static void generate_doc(); - static DocTools *get_doc_data() { return doc; } + static DocTools *get_doc_data(); + static void cleanup_doc(); void go_to_help(const String &p_help); void go_to_class(const String &p_class, int p_scroll = 0); diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index bf7280dfd0..19da6686a5 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h index 7285f76c01..7d918d0c68 100644 --- a/editor/editor_help_search.h +++ b/editor/editor_help_search.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index a53938e3f1..75e518e050 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1799,7 +1799,7 @@ Array EditorInspectorArray::_extract_properties_as_array(const List<PropertyInfo dict[format_string] = object->get(pi.name); output[array_index] = dict; } else { - WARN_PRINT(vformat("Array element %s has an index too high. Array allocaiton failed.", pi.name)); + WARN_PRINT(vformat("Array element %s has an index too high. Array allocation failed.", pi.name)); } } } @@ -2766,7 +2766,7 @@ void EditorInspector::update_tree() { doc_hint = descr; } - // Seach for the inspector plugin that will handle the properties. Then add the correct property editor to it. + // Search for the inspector plugin that will handle the properties. Then add the correct property editor to it. for (Ref<EditorInspectorPlugin> &ped : valid_plugins) { bool exclusive = ped->parse_property(object, p.type, p.name, p.hint, p.hint_string, p.usage, wide_editors); @@ -3205,7 +3205,10 @@ void EditorInspector::_property_keyed(const String &p_path, bool p_advance) { return; } - emit_signal(SNAME("property_keyed"), p_path, object->get(p_path), p_advance); //second param is deprecated + // The second parameter could be null, causing the event to fire with less arguments, so use the pointer call which preserves it. + const Variant args[3] = { p_path, object->get(p_path), p_advance }; + const Variant *argp[3] = { &args[0], &args[1], &args[2] }; + emit_signal(SNAME("property_keyed"), argp, 3); } void EditorInspector::_property_deleted(const String &p_path) { @@ -3213,7 +3216,7 @@ void EditorInspector::_property_deleted(const String &p_path) { return; } - emit_signal(SNAME("property_deleted"), p_path); //second param is deprecated + emit_signal(SNAME("property_deleted"), p_path); } void EditorInspector::_property_keyed_with_value(const String &p_path, const Variant &p_value, bool p_advance) { @@ -3221,7 +3224,10 @@ void EditorInspector::_property_keyed_with_value(const String &p_path, const Var return; } - emit_signal(SNAME("property_keyed"), p_path, p_value, p_advance); //second param is deprecated + // The second parameter could be null, causing the event to fire with less arguments, so use the pointer call which preserves it. + const Variant args[3] = { p_path, p_value, p_advance }; + const Variant *argp[3] = { &args[0], &args[1], &args[2] }; + emit_signal(SNAME("property_keyed"), argp, 3); } void EditorInspector::_property_checked(const String &p_path, bool p_checked) { @@ -3349,7 +3355,7 @@ void EditorInspector::_notification(int p_what) { if (p_what == NOTIFICATION_PROCESS) { if (update_scroll_request >= 0) { - get_v_scrollbar()->call_deferred(SNAME("set_value"), update_scroll_request); + get_v_scroll_bar()->call_deferred(SNAME("set_value"), update_scroll_request); update_scroll_request = -1; } if (refresh_countdown > 0) { @@ -3531,7 +3537,7 @@ void EditorInspector::_bind_methods() { ClassDB::bind_method("_edit_request_change", &EditorInspector::_edit_request_change); ADD_SIGNAL(MethodInfo("property_selected", PropertyInfo(Variant::STRING, "property"))); - ADD_SIGNAL(MethodInfo("property_keyed", PropertyInfo(Variant::STRING, "property"))); + ADD_SIGNAL(MethodInfo("property_keyed", PropertyInfo(Variant::STRING, "property"), PropertyInfo(Variant::NIL, "value", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NIL_IS_VARIANT), PropertyInfo(Variant::BOOL, "advance"))); ADD_SIGNAL(MethodInfo("property_deleted", PropertyInfo(Variant::STRING, "property"))); ADD_SIGNAL(MethodInfo("resource_selected", PropertyInfo(Variant::OBJECT, "res"), PropertyInfo(Variant::STRING, "prop"))); ADD_SIGNAL(MethodInfo("object_id_selected", PropertyInfo(Variant::INT, "id"))); @@ -3570,7 +3576,7 @@ EditorInspector::EditorInspector() { deletable_properties = false; property_clipboard = Variant(); - get_v_scrollbar()->connect("value_changed", callable_mp(this, &EditorInspector::_vscroll_changed)); + get_v_scroll_bar()->connect("value_changed", callable_mp(this, &EditorInspector::_vscroll_changed)); update_scroll_request = -1; if (EditorSettings::get_singleton()) { refresh_countdown = float(EditorSettings::get_singleton()->get("docks/property_editor/auto_refresh_interval")); diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h index d247978649..09b25065dc 100644 --- a/editor/editor_inspector.h +++ b/editor/editor_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_layouts_dialog.cpp b/editor/editor_layouts_dialog.cpp index 7c8965d6f4..886e29a504 100644 --- a/editor/editor_layouts_dialog.cpp +++ b/editor/editor_layouts_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_layouts_dialog.h b/editor/editor_layouts_dialog.h index 8687660832..bbdffd6722 100644 --- a/editor/editor_layouts_dialog.h +++ b/editor/editor_layouts_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 7bd98b0f0b..04bfcfac95 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -429,7 +429,7 @@ EditorLog::EditorLog() { vb_right->add_child(editor_filter->toggle_button); type_filter_map.insert(MSG_TYPE_EDITOR, editor_filter); - add_message(VERSION_FULL_NAME " (c) 2007-2021 Juan Linietsky, Ariel Manzur & Godot Contributors."); + add_message(VERSION_FULL_NAME " (c) 2007-2022 Juan Linietsky, Ariel Manzur & Godot Contributors."); eh.errfunc = _error_handler; eh.userdata = this; diff --git a/editor/editor_log.h b/editor/editor_log.h index 43cc5680bd..69a6a0b449 100644 --- a/editor/editor_log.h +++ b/editor/editor_log.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_native_shader_source_visualizer.cpp b/editor/editor_native_shader_source_visualizer.cpp index f98ac5af79..1813963f6f 100644 --- a/editor/editor_native_shader_source_visualizer.cpp +++ b/editor/editor_native_shader_source_visualizer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_native_shader_source_visualizer.h b/editor/editor_native_shader_source_visualizer.h index 72a2f8baae..78034dc3ba 100644 --- a/editor/editor_native_shader_source_visualizer.h +++ b/editor/editor_native_shader_source_visualizer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 00a776ba4d..afd5407f37 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -477,6 +477,7 @@ void EditorNode::_update_from_settings() { RS::get_singleton()->environment_set_ssao_quality(RS::EnvironmentSSAOQuality(int(GLOBAL_GET("rendering/environment/ssao/quality"))), GLOBAL_GET("rendering/environment/ssao/half_size"), GLOBAL_GET("rendering/environment/ssao/adaptive_target"), GLOBAL_GET("rendering/environment/ssao/blur_passes"), GLOBAL_GET("rendering/environment/ssao/fadeout_from"), GLOBAL_GET("rendering/environment/ssao/fadeout_to")); RS::get_singleton()->screen_space_roughness_limiter_set_active(GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/enabled"), GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/amount"), GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/limit")); bool glow_bicubic = int(GLOBAL_GET("rendering/environment/glow/upscale_mode")) > 0; + RS::get_singleton()->environment_set_ssil_quality(RS::EnvironmentSSILQuality(int(GLOBAL_GET("rendering/environment/ssil/quality"))), GLOBAL_GET("rendering/environment/ssil/half_size"), GLOBAL_GET("rendering/environment/ssil/adaptive_target"), GLOBAL_GET("rendering/environment/ssil/blur_passes"), GLOBAL_GET("rendering/environment/ssil/fadeout_from"), GLOBAL_GET("rendering/environment/ssil/fadeout_to")); RS::get_singleton()->environment_glow_set_use_bicubic_upscale(glow_bicubic); bool glow_high_quality = GLOBAL_GET("rendering/environment/glow/use_high_quality"); RS::get_singleton()->environment_glow_set_use_high_quality(glow_high_quality); @@ -521,8 +522,8 @@ void EditorNode::_update_from_settings() { Viewport::SDFScale sdf_scale = Viewport::SDFScale(int(GLOBAL_GET("rendering/2d/sdf/scale"))); scene_root->set_sdf_scale(sdf_scale); - float lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); - scene_root->set_lod_threshold(lod_threshold); + float mesh_lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); + scene_root->set_mesh_lod_threshold(mesh_lod_threshold); RS::get_singleton()->decals_set_filter(RS::DecalFilter(int(GLOBAL_GET("rendering/textures/decals/filter")))); RS::get_singleton()->light_projectors_set_filter(RS::LightProjectorFilter(int(GLOBAL_GET("rendering/textures/light_projectors/filter")))); @@ -2128,11 +2129,19 @@ static bool overrides_external_editor(Object *p_object) { return script->get_language()->overrides_external_editor(); } -void EditorNode::_edit_current() { +void EditorNode::_edit_current(bool p_skip_foreign) { ObjectID current = editor_history.get_current(); Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr; - bool inspector_only = editor_history.is_current_inspector_only(); + RES res = Object::cast_to<Resource>(current_obj); + if (p_skip_foreign && res.is_valid()) { + if (res->get_path().find("::") > -1 && res->get_path().get_slice("::", 0) != editor_data.get_scene_path(get_current_tab())) { + // Trying to edit resource that belongs to another scene; abort. + current_obj = nullptr; + } + } + + bool inspector_only = editor_history.is_current_inspector_only(); this->current = current_obj; if (!current_obj) { @@ -2263,8 +2272,8 @@ void EditorNode::_edit_current() { if (main_plugin) { // special case if use of external editor is true - Resource *res = Object::cast_to<Resource>(current_obj); - if (main_plugin->get_name() == "Script" && current_obj->get_class_name() != StringName("VisualScript") && res && !res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) { + Resource *current_res = Object::cast_to<Resource>(current_obj); + if (main_plugin->get_name() == "Script" && current_obj->get_class_name() != StringName("VisualScript") && current_res && !current_res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) { if (!changing_scene) { main_plugin->edit(current_obj); } @@ -3493,7 +3502,7 @@ void EditorNode::set_current_scene(int p_idx) { } Dictionary state = editor_data.restore_edited_scene_state(editor_selection, &editor_history); - _edit_current(); + _edit_current(true); _update_title(); @@ -7202,7 +7211,7 @@ EditorNode::~EditorNode() { EditorTranslationParser::get_singleton()->clean_parsers(); remove_print_handler(&print_handler); - memdelete(EditorHelp::get_doc_data()); + EditorHelp::cleanup_doc(); memdelete(editor_selection); memdelete(editor_plugins_over); memdelete(editor_plugins_force_over); diff --git a/editor/editor_node.h b/editor/editor_node.h index d74ec33f25..7ecdb7c263 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -459,7 +459,7 @@ private: void _dialog_action(String p_file); - void _edit_current(); + void _edit_current(bool p_skip_foreign = false); void _dialog_display_save_error(String p_file, Error p_error); void _dialog_display_load_error(String p_file, Error p_error); diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index b6797825b0..3dee06fb3e 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_path.h b/editor/editor_path.h index 07f8b7244e..ad8443534d 100644 --- a/editor/editor_path.h +++ b/editor/editor_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_paths.cpp b/editor/editor_paths.cpp index e747cdc29e..a4481cd1eb 100644 --- a/editor/editor_paths.cpp +++ b/editor/editor_paths.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_paths.h b/editor/editor_paths.h index cf94ed797a..4b814707b2 100644 --- a/editor/editor_paths.h +++ b/editor/editor_paths.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 9682a847ca..aeca340cb1 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index a49e1bf229..faa8ae1ce6 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp index 6aeede78b6..80329a36b2 100644 --- a/editor/editor_plugin_settings.cpp +++ b/editor/editor_plugin_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h index 34b26de90e..8ff6e4b9e1 100644 --- a/editor/editor_plugin_settings.h +++ b/editor/editor_plugin_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index eb1a0a2031..97a38b9200 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -2909,8 +2909,11 @@ void EditorPropertyResource::_resource_changed(const RES &p_resource) { } } -void EditorPropertyResource::_sub_inspector_property_keyed(const String &p_property, const Variant &p_value, bool) { - emit_signal(SNAME("property_keyed_with_value"), String(get_edited_property()) + ":" + p_property, p_value, false); +void EditorPropertyResource::_sub_inspector_property_keyed(const String &p_property, const Variant &p_value, bool p_advance) { + // The second parameter could be null, causing the event to fire with less arguments, so use the pointer call which preserves it. + const Variant args[3] = { String(get_edited_property()) + ":" + p_property, p_value, p_advance }; + const Variant *argp[3] = { &args[0], &args[1], &args[2] }; + emit_signal(SNAME("property_keyed_with_value"), argp, 3); } void EditorPropertyResource::_sub_inspector_resource_selected(const RES &p_resource, const String &p_property) { diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 0b98e4c7c9..e62f6823a3 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -666,7 +666,7 @@ class EditorPropertyResource : public EditorProperty { void _viewport_selected(const NodePath &p_path); - void _sub_inspector_property_keyed(const String &p_property, const Variant &p_value, bool); + void _sub_inspector_property_keyed(const String &p_property, const Variant &p_value, bool p_advance); void _sub_inspector_resource_selected(const RES &p_resource, const String &p_property); void _sub_inspector_object_id_selected(int p_id); diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index 858de7fb78..36203bca36 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h index 7547d57346..4c31ba0b49 100644 --- a/editor/editor_properties_array_dict.h +++ b/editor/editor_properties_array_dict.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index 6a6634d7e5..6002bcfadc 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -49,6 +49,7 @@ void EditorResourcePicker::_update_resource() { if (edited_resource == RES()) { assign_button->set_icon(Ref<Texture2D>()); assign_button->set_text(TTR("[empty]")); + assign_button->set_tooltip(""); } else { assign_button->set_icon(EditorNode::get_singleton()->get_object_icon(edited_resource.operator->(), "Object")); @@ -56,14 +57,15 @@ void EditorResourcePicker::_update_resource() { assign_button->set_text(edited_resource->get_name()); } else if (edited_resource->get_path().is_resource_file()) { assign_button->set_text(edited_resource->get_path().get_file()); - assign_button->set_tooltip(edited_resource->get_path()); } else { assign_button->set_text(edited_resource->get_class()); } + String resource_path; if (edited_resource->get_path().is_resource_file()) { - assign_button->set_tooltip(edited_resource->get_path()); + resource_path = edited_resource->get_path() + "\n"; } + assign_button->set_tooltip(resource_path + TTR("Type:") + " " + edited_resource->get_class()); // Preview will override the above, so called at the end. EditorResourcePreview::get_singleton()->queue_edited_resource_preview(edited_resource, this, "_update_resource_preview", edited_resource->get_instance_id()); @@ -385,8 +387,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) { void EditorResourcePicker::set_create_options(Object *p_menu_node) { _ensure_resource_menu(); // If a subclass implements this method, use it to replace all create items. - if (get_script_instance() && get_script_instance()->has_method("_set_create_options")) { - get_script_instance()->call("_set_create_options", p_menu_node); + if (GDVIRTUAL_CALL(_set_create_options, p_menu_node)) { return; } @@ -442,8 +443,9 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) { } bool EditorResourcePicker::handle_menu_selected(int p_which) { - if (get_script_instance() && get_script_instance()->has_method("_handle_menu_selected")) { - return get_script_instance()->call("_handle_menu_selected", p_which); + bool success; + if (GDVIRTUAL_CALL(_handle_menu_selected, p_which, success)) { + return success; } return false; @@ -514,12 +516,14 @@ void EditorResourcePicker::_get_allowed_types(bool p_with_convert, Set<String> * } if (p_with_convert) { - if (base == "StandardMaterial3D") { + if (base == "BaseMaterial3D") { p_vector->insert("Texture2D"); } else if (base == "ShaderMaterial") { p_vector->insert("Shader"); } else if (base == "Font") { p_vector->insert("FontData"); + } else if (base == "Texture2D") { + p_vector->insert("Image"); } } } @@ -636,26 +640,46 @@ void EditorResourcePicker::drop_data_fw(const Point2 &p_point, const Variant &p_ for (Set<String>::Element *E = allowed_types.front(); E; E = E->next()) { String at = E->get().strip_edges(); - if (at == "StandardMaterial3D" && ClassDB::is_parent_class(dropped_resource->get_class(), "Texture2D")) { - Ref<StandardMaterial3D> mat = memnew(StandardMaterial3D); + if (at == "BaseMaterial3D" && ClassDB::is_parent_class(dropped_resource->get_class(), "Texture2D")) { + // Use existing resource if possible and only replace its data. + Ref<StandardMaterial3D> mat = edited_resource; + if (!mat.is_valid()) { + mat.instantiate(); + } mat->set_texture(StandardMaterial3D::TextureParam::TEXTURE_ALBEDO, dropped_resource); dropped_resource = mat; break; } if (at == "ShaderMaterial" && ClassDB::is_parent_class(dropped_resource->get_class(), "Shader")) { - Ref<ShaderMaterial> mat = memnew(ShaderMaterial); + Ref<ShaderMaterial> mat = edited_resource; + if (!mat.is_valid()) { + mat.instantiate(); + } mat->set_shader(dropped_resource); dropped_resource = mat; break; } if (at == "Font" && ClassDB::is_parent_class(dropped_resource->get_class(), "FontData")) { - Ref<Font> font = memnew(Font); + Ref<Font> font = edited_resource; + if (!font.is_valid()) { + font.instantiate(); + } font->add_data(dropped_resource); dropped_resource = font; break; } + + if (at == "Texture2D" && ClassDB::is_parent_class(dropped_resource->get_class(), "Image")) { + Ref<ImageTexture> texture = edited_resource; + if (!texture.is_valid()) { + texture.instantiate(); + } + texture->create_from_image(dropped_resource); + dropped_resource = texture; + break; + } } } @@ -682,8 +706,8 @@ void EditorResourcePicker::_bind_methods() { ClassDB::bind_method(D_METHOD("set_editable", "enable"), &EditorResourcePicker::set_editable); ClassDB::bind_method(D_METHOD("is_editable"), &EditorResourcePicker::is_editable); - ClassDB::add_virtual_method(get_class_static(), MethodInfo("_set_create_options", PropertyInfo(Variant::OBJECT, "menu_node"))); - ClassDB::add_virtual_method(get_class_static(), MethodInfo("_handle_menu_selected", PropertyInfo(Variant::INT, "id"))); + GDVIRTUAL_BIND(_set_create_options, "menu_node"); + GDVIRTUAL_BIND(_handle_menu_selected, "id"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "base_type"), "set_base_type", "get_base_type"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "edited_resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource", PROPERTY_USAGE_NONE), "set_edited_resource", "get_edited_resource"); @@ -850,7 +874,7 @@ EditorResourcePicker::EditorResourcePicker() { assign_button->connect("gui_input", callable_mp(this, &EditorResourcePicker::_button_input)); preview_rect = memnew(TextureRect); - preview_rect->set_expand(true); + preview_rect->set_ignore_texture_size(true); preview_rect->set_anchors_and_offsets_preset(PRESET_WIDE); preview_rect->set_offset(SIDE_TOP, 1); preview_rect->set_offset(SIDE_BOTTOM, -1); diff --git a/editor/editor_resource_picker.h b/editor/editor_resource_picker.h index f55c6f47f3..8ffa52f14f 100644 --- a/editor/editor_resource_picker.h +++ b/editor/editor_resource_picker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -102,6 +102,9 @@ protected: static void _bind_methods(); void _notification(int p_what); + GDVIRTUAL1(_set_create_options, Object *) + GDVIRTUAL1R(bool, _handle_menu_selected, int) + public: static void clear_caches(); diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp index 15fc3b1db3..2d1335270c 100644 --- a/editor/editor_resource_preview.cpp +++ b/editor/editor_resource_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_preview.h b/editor/editor_resource_preview.h index 9d1f269661..938902a6ad 100644 --- a/editor/editor_resource_preview.h +++ b/editor/editor_resource_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp index 92dae89b33..3c1799d80c 100644 --- a/editor/editor_run.cpp +++ b/editor/editor_run.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run.h b/editor/editor_run.h index 3bfe28e1ad..50604ff032 100644 --- a/editor/editor_run.h +++ b/editor/editor_run.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp index 74ebffc404..adaeaad6ae 100644 --- a/editor/editor_run_native.cpp +++ b/editor/editor_run_native.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h index 97f6fc005a..199d094e55 100644 --- a/editor/editor_run_native.h +++ b/editor/editor_run_native.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.cpp b/editor/editor_run_script.cpp index 27923ef413..77173d178b 100644 --- a/editor/editor_run_script.cpp +++ b/editor/editor_run_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.h b/editor/editor_run_script.h index 6c7e37774d..7fb728a00a 100644 --- a/editor/editor_run_script.h +++ b/editor/editor_run_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.cpp b/editor/editor_scale.cpp index 85304a9cbc..29c1f6278b 100644 --- a/editor/editor_scale.cpp +++ b/editor/editor_scale.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.h b/editor/editor_scale.h index b20c18706a..918fde15fb 100644 --- a/editor/editor_scale.h +++ b/editor/editor_scale.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_sectioned_inspector.cpp b/editor/editor_sectioned_inspector.cpp index c7a9171709..6853045345 100644 --- a/editor/editor_sectioned_inspector.cpp +++ b/editor/editor_sectioned_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_sectioned_inspector.h b/editor/editor_sectioned_inspector.h index 1068a4f932..f81c4631e4 100644 --- a/editor/editor_sectioned_inspector.h +++ b/editor/editor_sectioned_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 1ac1d6f048..bb0a2ed7c1 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -142,7 +142,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const { if (builtin_list.has(shortcut_definition.key)) { // This shortcut was auto-generated from built in actions: don't save. - // If the builtin is overriden, it will be saved in the "builtin_action_overrides" section below. + // If the builtin is overridden, it will be saved in the "builtin_action_overrides" section below. continue; } @@ -431,7 +431,11 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("interface/editor/hide_console_window", false); _initial_set("interface/editor/mouse_extra_buttons_navigate_history", true); _initial_set("interface/editor/save_each_scene_on_quit", true); // Regression - EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/show_internal_errors_in_toast_notifications", 0, "Auto,Enabled,Disabled") +#ifdef DEV_ENABLED + EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/show_internal_errors_in_toast_notifications", 0, "Auto (Enabled),Enabled,Disabled") +#else + EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/show_internal_errors_in_toast_notifications", 0, "Auto (Disabled),Enabled,Disabled") +#endif // Inspector EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "interface/inspector/max_array_dictionary_items_per_page", 20, "10,100,1") @@ -781,43 +785,6 @@ bool EditorSettings::_is_default_text_editor_theme(String p_theme_name) { return p_theme_name == "default" || p_theme_name == "godot 2" || p_theme_name == "custom"; } -static Dictionary _get_builtin_script_templates() { - Dictionary templates; - - // No Comments - templates["no_comments.gd"] = - "extends %BASE%\n" - "\n" - "\n" - "func _ready()%VOID_RETURN%:\n" - "%TS%pass\n"; - - // Empty - templates["empty.gd"] = - "extends %BASE%" - "\n" - "\n"; - - return templates; -} - -static void _create_script_templates(const String &p_path) { - Dictionary templates = _get_builtin_script_templates(); - List<Variant> keys; - templates.get_key_list(&keys); - FileAccessRef file = FileAccess::create(FileAccess::ACCESS_FILESYSTEM); - DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); - dir->change_dir(p_path); - for (int i = 0; i < keys.size(); i++) { - if (!dir->file_exists(keys[i])) { - Error err = file->reopen(p_path.plus_file((String)keys[i]), FileAccess::WRITE); - ERR_FAIL_COND(err != OK); - file->store_string(templates[keys[i]]); - file->close(); - } - } -} - // PUBLIC METHODS EditorSettings *EditorSettings::get_singleton() { @@ -852,10 +819,7 @@ void EditorSettings::create() { } if (EditorPaths::get_singleton()->are_paths_valid()) { - _create_script_templates(EditorPaths::get_singleton()->get_config_dir().plus_file("script_templates")); - // Validate editor config file. - DirAccessRef dir = DirAccess::open(EditorPaths::get_singleton()->get_config_dir()); String config_file_name = "editor_settings-" + itos(VERSION_MAJOR) + ".tres"; config_file_path = EditorPaths::get_singleton()->get_config_dir().plus_file(config_file_name); diff --git a/editor/editor_settings.h b/editor/editor_settings.h index cb23ed3d19..f1a0329d65 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 111c8c699e..cd28a65c7b 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_spin_slider.h b/editor/editor_spin_slider.h index 68448b3240..7e3f2051ac 100644 --- a/editor/editor_spin_slider.h +++ b/editor/editor_spin_slider.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 7bbac11754..a8a1dc37ab 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -294,7 +294,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { Ref<Theme> theme = Ref<Theme>(memnew(Theme)); // Controls may rely on the scale for their internal drawing logic. - theme->set_default_theme_base_scale(EDSCALE); + theme->set_default_base_scale(EDSCALE); // Theme settings Color accent_color = EDITOR_GET("interface/theme/accent_color"); diff --git a/editor/editor_themes.h b/editor/editor_themes.h index c040654220..642558d774 100644 --- a/editor/editor_themes.h +++ b/editor/editor_themes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp index 05b895519d..df0588c641 100644 --- a/editor/editor_toaster.cpp +++ b/editor/editor_toaster.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_toaster.h b/editor/editor_toaster.h index 502498986a..b626a47d0c 100644 --- a/editor/editor_toaster.h +++ b/editor/editor_toaster.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_translation.cpp b/editor/editor_translation.cpp index 23145c27c8..98248f3a87 100644 --- a/editor/editor_translation.cpp +++ b/editor/editor_translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_translation.h b/editor/editor_translation.h index 41703f0fd0..baba03859d 100644 --- a/editor/editor_translation.h +++ b/editor/editor_translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_translation_parser.cpp b/editor/editor_translation_parser.cpp index df47b2d988..27b8c3fd5d 100644 --- a/editor/editor_translation_parser.cpp +++ b/editor/editor_translation_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_translation_parser.h b/editor/editor_translation_parser.h index 242ba33b55..bd770250f9 100644 --- a/editor/editor_translation_parser.h +++ b/editor/editor_translation_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_vcs_interface.cpp b/editor/editor_vcs_interface.cpp index b4b740d7c6..97611d9786 100644 --- a/editor/editor_vcs_interface.cpp +++ b/editor/editor_vcs_interface.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_vcs_interface.h b/editor/editor_vcs_interface.h index 1a2adeb148..091936dadc 100644 --- a/editor/editor_vcs_interface.h +++ b/editor/editor_vcs_interface.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_zoom_widget.cpp b/editor/editor_zoom_widget.cpp index 5a37d882c2..abfa383297 100644 --- a/editor/editor_zoom_widget.cpp +++ b/editor/editor_zoom_widget.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_zoom_widget.h b/editor/editor_zoom_widget.h index c35faeefe7..bf8358ff1a 100644 --- a/editor/editor_zoom_widget.h +++ b/editor/editor_zoom_widget.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index 7ae7195deb..8c34609e9c 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -396,7 +396,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_ char fname[16384]; ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String file = fname; + String file = String::utf8(fname); if (file.ends_with("version.txt")) { Vector<uint8_t> data; data.resize(info.uncompressed_size); @@ -457,7 +457,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_ char fname[16384]; unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String file_path(String(fname).simplify_path()); + String file_path(String::utf8(fname).simplify_path()); String file = file_path.get_file(); @@ -698,7 +698,7 @@ Error ExportTemplateManager::install_android_template_from_file(const String &p_ char fpath[16384]; ret = unzGetCurrentFileInfo(pkg, &info, fpath, 16384, nullptr, 0, nullptr, 0); - String path = fpath; + String path = String::utf8(fpath); String base_dir = path.get_base_dir(); if (!path.ends_with("/")) { diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index ebadb88c36..cf7585635d 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/fileserver/editor_file_server.cpp b/editor/fileserver/editor_file_server.cpp index 66bcbb4d5d..4a6aa11938 100644 --- a/editor/fileserver/editor_file_server.cpp +++ b/editor/fileserver/editor_file_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/fileserver/editor_file_server.h b/editor/fileserver/editor_file_server.h index d0405e0bb7..7807e72800 100644 --- a/editor/fileserver/editor_file_server.h +++ b/editor/fileserver/editor_file_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 72fc9fbc6e..0253307d5a 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -529,7 +529,7 @@ void FileSystemDock::_navigate_to_path(const String &p_path, bool p_select_in_fa _update_tree(_compute_uncollapsed_paths(), false, p_select_in_favorites, true); if (display_mode == DISPLAY_MODE_SPLIT) { _update_file_list(false); - files->get_v_scroll()->set_value(0); + files->get_v_scroll_bar()->set_value(0); } String file_name = p_path.get_file(); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index 34b445f1b3..8d50f05da9 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp index 9f7abfa19d..131ecc3b12 100644 --- a/editor/find_in_files.cpp +++ b/editor/find_in_files.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/find_in_files.h b/editor/find_in_files.h index 488f14a922..fca6910f1c 100644 --- a/editor/find_in_files.h +++ b/editor/find_in_files.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp index 788c7dc029..c65d4e9e3b 100644 --- a/editor/groups_editor.cpp +++ b/editor/groups_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/groups_editor.h b/editor/groups_editor.h index f0a5b4a794..677ef14a1f 100644 --- a/editor/groups_editor.h +++ b/editor/groups_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/collada.cpp b/editor/import/collada.cpp index c1f577f176..2cc534d96d 100644 --- a/editor/import/collada.cpp +++ b/editor/import/collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/collada.h b/editor/import/collada.h index 5e38637504..b5e4cd9983 100644 --- a/editor/import/collada.h +++ b/editor/import/collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/dynamicfont_import_settings.cpp b/editor/import/dynamicfont_import_settings.cpp index b63c2bf350..3151496bec 100644 --- a/editor/import/dynamicfont_import_settings.cpp +++ b/editor/import/dynamicfont_import_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1185,6 +1185,38 @@ void DynamicFontImportSettings::_lang_remove(Object *p_item, int p_column, int p memdelete(lang_item); } +void DynamicFontImportSettings::_ot_add() { + menu_ot->set_position(ot_list->get_screen_transform().xform(ot_list->get_local_mouse_position())); + menu_ot->set_size(Vector2(1, 1)); + menu_ot->popup(); +} + +void DynamicFontImportSettings::_ot_add_item(int p_option) { + String name = TS->tag_to_name(p_option); + for (TreeItem *ot_item = ot_list_root->get_first_child(); ot_item; ot_item = ot_item->get_next()) { + if (ot_item->get_text(0) == name) { + return; + } + } + TreeItem *ot_item = ot_list->create_item(ot_list_root); + ERR_FAIL_NULL(ot_item); + + ot_item->set_text(0, name); + ot_item->set_editable(0, false); + ot_item->set_text(1, "1"); + ot_item->set_editable(1, true); + ot_item->add_button(2, ot_list->get_theme_icon("Remove", "EditorIcons"), BUTTON_REMOVE_VAR, false, TTR("Remove")); + ot_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); +} + +void DynamicFontImportSettings::_ot_remove(Object *p_item, int p_column, int p_id) { + TreeItem *ot_item = (TreeItem *)p_item; + ERR_FAIL_NULL(ot_item); + + ot_list_root->remove_child(ot_item); + memdelete(ot_item); +} + void DynamicFontImportSettings::_script_add() { menu_scripts->set_position(script_list->get_screen_position() + script_list->get_local_mouse_position()); menu_scripts->reset_size(); @@ -1230,6 +1262,7 @@ void DynamicFontImportSettings::_notification(int p_what) { add_lang->set_icon(add_var->get_theme_icon("Add", "EditorIcons")); add_script->set_icon(add_var->get_theme_icon("Add", "EditorIcons")); add_var->set_icon(add_var->get_theme_icon("Add", "EditorIcons")); + add_ot->set_icon(add_var->get_theme_icon("Add", "EditorIcons")); } } @@ -1317,6 +1350,14 @@ void DynamicFontImportSettings::_re_import() { main_settings["preload/glyph_ranges"] = ranges; } + Dictionary ot_ov; + for (TreeItem *ot_item = ot_list_root->get_first_child(); ot_item; ot_item = ot_item->get_next()) { + String tag = ot_item->get_text(0); + int32_t value = ot_item->get_text(1).to_int(); + ot_ov[tag] = value; + } + main_settings["opentype_feature_overrides"] = ot_ov; + if (OS::get_singleton()->is_stdout_verbose()) { print_line("Import settings:"); for (Map<StringName, Variant>::Element *E = main_settings.front(); E; E = E->next()) { @@ -1373,6 +1414,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) { vars_list->clear(); lang_list->clear(); script_list->clear(); + ot_list->clear(); selected_chars.clear(); selected_glyphs.clear(); @@ -1381,6 +1423,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) { vars_list_root = vars_list->create_item(); lang_list_root = lang_list->create_item(); script_list_root = script_list->create_item(); + ot_list_root = ot_list->create_item(); options_variations.clear(); Dictionary var_list = dfont_main->get_supported_variation_list(); @@ -1546,6 +1589,23 @@ void DynamicFontImportSettings::open_settings(const String &p_path) { script_item->set_editable(1, true); script_item->add_button(2, lang_list->get_theme_icon("Remove", "EditorIcons"), BUTTON_REMOVE_VAR, false, TTR("Remove")); } + } else if (key == "opentype_feature_overrides") { + Dictionary features = config->get_value("params", key); + for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) { + TreeItem *ot_item = ot_list->create_item(ot_list_root); + ERR_FAIL_NULL(ot_item); + int32_t value = features[*ftr]; + if (ftr->get_type() == Variant::STRING) { + ot_item->set_text(0, *ftr); + } else { + ot_item->set_text(0, TS->tag_to_name(*ftr)); + } + ot_item->set_editable(0, false); + ot_item->set_text(1, itos(value)); + ot_item->set_editable(1, true); + ot_item->add_button(2, ot_list->get_theme_icon("Remove", "EditorIcons"), BUTTON_REMOVE_VAR, false, TTR("Remove")); + ot_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); + } } else { Variant value = config->get_value("params", key); import_settings_data->defaults[key] = value; @@ -1570,6 +1630,39 @@ void DynamicFontImportSettings::open_settings(const String &p_path) { font_preview_label->add_theme_font_override("font", font_preview); font_preview_label->update(); + menu_ot->clear(); + menu_ot_ss->clear(); + menu_ot_cv->clear(); + menu_ot_cu->clear(); + bool have_ss = false; + bool have_cv = false; + bool have_cu = false; + Dictionary features = font_preview->get_feature_list(); + for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) { + String ftr_name = TS->tag_to_name(*ftr); + if (ftr_name.begins_with("stylistic_set_")) { + menu_ot_ss->add_item(ftr_name.capitalize(), (int32_t)*ftr); + have_ss = true; + } else if (ftr_name.begins_with("character_variant_")) { + menu_ot_cv->add_item(ftr_name.capitalize(), (int32_t)*ftr); + have_cv = true; + } else if (ftr_name.begins_with("custom_")) { + menu_ot_cu->add_item(ftr_name.replace("custom_", ""), (int32_t)*ftr); + have_cu = true; + } else { + menu_ot->add_item(ftr_name.capitalize(), (int32_t)*ftr); + } + } + if (have_ss) { + menu_ot->add_submenu_item(RTR("Stylistic Sets"), "SSMenu"); + } + if (have_cv) { + menu_ot->add_submenu_item(RTR("Character Variants"), "CVMenu"); + } + if (have_cu) { + menu_ot->add_submenu_item(RTR("Custom"), "CUMenu"); + } + _variations_validate(); popup_centered_ratio(); @@ -1619,6 +1712,25 @@ DynamicFontImportSettings::DynamicFontImportSettings() { add_child(menu_scripts); menu_scripts->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_script_add_item)); + menu_ot = memnew(PopupMenu); + add_child(menu_ot); + menu_ot->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item)); + + menu_ot_cv = memnew(PopupMenu); + menu_ot_cv->set_name("CVMenu"); + menu_ot->add_child(menu_ot_cv); + menu_ot_cv->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item)); + + menu_ot_ss = memnew(PopupMenu); + menu_ot_ss->set_name("SSMenu"); + menu_ot->add_child(menu_ot_ss); + menu_ot_ss->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item)); + + menu_ot_cu = memnew(PopupMenu); + menu_ot_cu->set_name("CUMenu"); + menu_ot->add_child(menu_ot_cu); + menu_ot_cu->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item)); + Color warn_color = (EditorNode::get_singleton()) ? EditorNode::get_singleton()->get_gui_base()->get_theme_color("warning_color", "Editor") : Color(1, 1, 0); // Root layout @@ -1897,6 +2009,34 @@ DynamicFontImportSettings::DynamicFontImportSettings() { script_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_script_remove)); script_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); + HBoxContainer *hb_ot = memnew(HBoxContainer); + page5_vb->add_child(hb_ot); + + label_ot = memnew(Label); + label_ot->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + label_ot->set_h_size_flags(Control::SIZE_EXPAND_FILL); + label_ot->set_text(TTR("OpenType feature overrides")); + hb_ot->add_child(label_ot); + + add_ot = memnew(Button); + hb_ot->add_child(add_ot); + add_ot->set_tooltip(TTR("Add feature override")); + add_ot->set_icon(add_var->get_theme_icon("Add", "EditorIcons")); + add_ot->connect("pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add)); + + ot_list = memnew(Tree); + page5_vb->add_child(ot_list); + ot_list->set_hide_root(true); + ot_list->set_columns(3); + ot_list->set_column_expand(0, true); + ot_list->set_column_custom_minimum_width(0, 80 * EDSCALE); + ot_list->set_column_expand(1, true); + ot_list->set_column_custom_minimum_width(1, 80 * EDSCALE); + ot_list->set_column_expand(2, false); + ot_list->set_column_custom_minimum_width(2, 50 * EDSCALE); + ot_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_remove)); + ot_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); + // Common import_settings_data.instantiate(); diff --git a/editor/import/dynamicfont_import_settings.h b/editor/import/dynamicfont_import_settings.h index 05f5e8e00b..89665ae476 100644 --- a/editor/import/dynamicfont_import_settings.h +++ b/editor/import/dynamicfont_import_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -120,18 +120,27 @@ class DynamicFontImportSettings : public ConfirmationDialog { Label *page5_description = nullptr; Button *add_lang = nullptr; Button *add_script = nullptr; + Button *add_ot = nullptr; PopupMenu *menu_langs = nullptr; PopupMenu *menu_scripts = nullptr; + PopupMenu *menu_ot = nullptr; + PopupMenu *menu_ot_ss = nullptr; + PopupMenu *menu_ot_cv = nullptr; + PopupMenu *menu_ot_cu = nullptr; Tree *lang_list = nullptr; TreeItem *lang_list_root = nullptr; + Label *label_langs = nullptr; Tree *script_list = nullptr; TreeItem *script_list_root = nullptr; - Label *label_langs = nullptr; Label *label_script = nullptr; + Tree *ot_list = nullptr; + TreeItem *ot_list_root = nullptr; + Label *label_ot = nullptr; + void _lang_add(); void _lang_add_item(int p_option); void _lang_remove(Object *p_item, int p_column, int p_id); @@ -140,6 +149,10 @@ class DynamicFontImportSettings : public ConfirmationDialog { void _script_add_item(int p_option); void _script_remove(Object *p_item, int p_column, int p_id); + void _ot_add(); + void _ot_add_item(int p_option); + void _ot_remove(Object *p_item, int p_column, int p_id); + // Common void _add_glyph_range_item(int32_t p_start, int32_t p_end, const String &p_name); diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index 91f8e5b910..22b2bd1ed4 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1755,7 +1755,7 @@ void EditorSceneFormatImporterCollada::get_extensions(List<String> *r_extensions r_extensions->push_back("dae"); } -Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { +Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { if (r_err) { *r_err = OK; } @@ -1811,7 +1811,7 @@ Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint3 return state.scene; } -Ref<Animation> EditorSceneFormatImporterCollada::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { +Ref<Animation> EditorSceneFormatImporterCollada::import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) { ColladaImport state; state.use_mesh_builtin_materials = false; diff --git a/editor/import/editor_import_collada.h b/editor/import/editor_import_collada.h index 055a6fe178..c32d785d1c 100644 --- a/editor/import/editor_import_collada.h +++ b/editor/import/editor_import_collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,8 +39,8 @@ class EditorSceneFormatImporterCollada : public EditorSceneFormatImporter { public: virtual uint32_t get_import_flags() const override; virtual void get_extensions(List<String> *r_extensions) const override; - virtual Node *import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps = nullptr, Error *r_err = nullptr) override; - virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) override; + virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps = nullptr, Error *r_err = nullptr) override; + virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) override; EditorSceneFormatImporterCollada(); }; diff --git a/editor/import/editor_import_plugin.cpp b/editor/import/editor_import_plugin.cpp index 1a002569c5..cf3464b168 100644 --- a/editor/import/editor_import_plugin.cpp +++ b/editor/import/editor_import_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h index 6c5f4f6005..6cff8fb917 100644 --- a/editor/import/editor_import_plugin.h +++ b/editor/import/editor_import_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp index c43052593d..16b68bcc22 100644 --- a/editor/import/resource_importer_bitmask.cpp +++ b/editor/import/resource_importer_bitmask.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h index f3da5f9a31..e5cf1facff 100644 --- a/editor/import/resource_importer_bitmask.h +++ b/editor/import/resource_importer_bitmask.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bmfont.cpp b/editor/import/resource_importer_bmfont.cpp index f54065416e..fa560e8eb1 100644 --- a/editor/import/resource_importer_bmfont.cpp +++ b/editor/import/resource_importer_bmfont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bmfont.h b/editor/import/resource_importer_bmfont.h index 64d536535c..e5a96e2c40 100644 --- a/editor/import/resource_importer_bmfont.h +++ b/editor/import/resource_importer_bmfont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp index 7a226802f2..448b318c64 100644 --- a/editor/import/resource_importer_csv_translation.cpp +++ b/editor/import/resource_importer_csv_translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h index de7ba3e3a0..8f6cf94984 100644 --- a/editor/import/resource_importer_csv_translation.h +++ b/editor/import/resource_importer_csv_translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_dynamicfont.cpp b/editor/import/resource_importer_dynamicfont.cpp index f7363a565d..11f563a982 100644 --- a/editor/import/resource_importer_dynamicfont.cpp +++ b/editor/import/resource_importer_dynamicfont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -107,6 +107,7 @@ void ResourceImporterDynamicFont::get_import_options(const String &p_path, List< r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "oversampling", PROPERTY_HINT_RANGE, "0,10,0.1"), 0.0)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true)); + r_options->push_back(ImportOption(PropertyInfo(Variant::DICTIONARY, "opentype_feature_overrides"), Dictionary())); r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "preload/char_ranges"), Vector<String>())); r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "preload/glyph_ranges"), Vector<String>())); @@ -174,6 +175,7 @@ Error ResourceImporterDynamicFont::import(const String &p_source_file, const Str bool msdf = p_options["multichannel_signed_distance_field"]; int px_range = p_options["msdf_pixel_range"]; int px_size = p_options["msdf_size"]; + Dictionary ot_ov = p_options["opentype_feature_overrides"]; bool autohinter = p_options["force_autohinter"]; int hinting = p_options["hinting"]; @@ -190,6 +192,7 @@ Error ResourceImporterDynamicFont::import(const String &p_source_file, const Str font->set_multichannel_signed_distance_field(msdf); font->set_msdf_pixel_range(px_range); font->set_msdf_size(px_size); + font->set_opentype_feature_overrides(ot_ov); font->set_fixed_size(0); font->set_force_autohinter(autohinter); font->set_hinting((TextServer::Hinting)hinting); diff --git a/editor/import/resource_importer_dynamicfont.h b/editor/import/resource_importer_dynamicfont.h index cb5294b9dd..a55d639e10 100644 --- a/editor/import/resource_importer_dynamicfont.h +++ b/editor/import/resource_importer_dynamicfont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_image.cpp b/editor/import/resource_importer_image.cpp index 45cb5e2f9d..e6a822d827 100644 --- a/editor/import/resource_importer_image.cpp +++ b/editor/import/resource_importer_image.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_image.h b/editor/import/resource_importer_image.h index b7131ec850..81aedc91e8 100644 --- a/editor/import/resource_importer_image.h +++ b/editor/import/resource_importer_image.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_imagefont.cpp b/editor/import/resource_importer_imagefont.cpp index 04a68e4a53..0a15284ef5 100644 --- a/editor/import/resource_importer_imagefont.cpp +++ b/editor/import/resource_importer_imagefont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_imagefont.h b/editor/import/resource_importer_imagefont.h index d600c35e1c..c1116d5a83 100644 --- a/editor/import/resource_importer_imagefont.h +++ b/editor/import/resource_importer_imagefont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp index 89c62ab5cb..5876d6df0b 100644 --- a/editor/import/resource_importer_layered_texture.cpp +++ b/editor/import/resource_importer_layered_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -392,7 +392,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const bool can_s3tc = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_s3tc"); if (can_bptc) { - formats_imported.push_back("bptc"); //needs to be aded anyway + formats_imported.push_back("bptc"); // Needs to be added anyway. } bool can_compress_hdr = hdr_compression > 0; diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h index 29dfe7263a..ee8e7dc615 100644 --- a/editor/import/resource_importer_layered_texture.h +++ b/editor/import/resource_importer_layered_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp index 9e3cdbdeff..96645665aa 100644 --- a/editor/import/resource_importer_obj.cpp +++ b/editor/import/resource_importer_obj.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -424,7 +424,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_ return OK; } -Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { +Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { List<Ref<Mesh>> meshes; Error err = _parse_obj(p_path, meshes, false, p_flags & IMPORT_GENERATE_TANGENT_ARRAYS, false, Vector3(1, 1, 1), Vector3(0, 0, 0), r_missing_deps); @@ -459,7 +459,7 @@ Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, in return scene; } -Ref<Animation> EditorOBJImporter::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { +Ref<Animation> EditorOBJImporter::import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) { return Ref<Animation>(); } diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h index c3e46b6eb5..d7e3f0209d 100644 --- a/editor/import/resource_importer_obj.h +++ b/editor/import/resource_importer_obj.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,8 +39,8 @@ class EditorOBJImporter : public EditorSceneFormatImporter { public: virtual uint32_t get_import_flags() const override; virtual void get_extensions(List<String> *r_extensions) const override; - virtual Node *import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override; - virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) override; + virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override; + virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) override; EditorOBJImporter(); }; diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index c7eb6181ba..e801cd4553 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,9 +30,9 @@ #include "resource_importer_scene.h" +#include "core/error/error_macros.h" #include "core/io/resource_saver.h" #include "editor/editor_node.h" - #include "editor/import/scene_import_settings.h" #include "scene/3d/area_3d.h" #include "scene/3d/collision_shape_3d.h" @@ -73,18 +73,26 @@ void EditorSceneFormatImporter::get_extensions(List<String> *r_extensions) const ERR_FAIL(); } -Node *EditorSceneFormatImporter::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { - Object *ret; - if (GDVIRTUAL_CALL(_import_scene, p_path, p_flags, p_bake_fps, ret)) { +Node *EditorSceneFormatImporter::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { + Dictionary options_dict; + for (const KeyValue<StringName, Variant> &elem : p_options) { + options_dict[elem.key] = elem.value; + } + Object *ret = nullptr; + if (GDVIRTUAL_CALL(_import_scene, p_path, p_flags, options_dict, p_bake_fps, ret)) { return Object::cast_to<Node>(ret); } ERR_FAIL_V(nullptr); } -Ref<Animation> EditorSceneFormatImporter::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { +Ref<Animation> EditorSceneFormatImporter::import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) { + Dictionary options_dict; + for (const KeyValue<StringName, Variant> &elem : p_options) { + options_dict[elem.key] = elem.value; + } Ref<Animation> ret; - if (GDVIRTUAL_CALL(_import_animation, p_path, p_flags, p_bake_fps, ret)) { + if (GDVIRTUAL_CALL(_import_animation, p_path, p_flags, options_dict, p_bake_fps, ret)) { return ret; } @@ -101,25 +109,11 @@ Variant EditorSceneFormatImporter::get_option_visibility(const String &p_path, c return ret; } -//for documenters, these functions are useful when an importer calls an external conversion helper (like, fbx2gltf), -//and you want to load the resulting file - -Node *EditorSceneFormatImporter::import_scene_from_other_importer(const String &p_path, uint32_t p_flags, int p_bake_fps) { - return ResourceImporterScene::get_singleton()->import_scene_from_other_importer(this, p_path, p_flags, p_bake_fps); -} - -Ref<Animation> EditorSceneFormatImporter::import_animation_from_other_importer(const String &p_path, uint32_t p_flags, int p_bake_fps) { - return ResourceImporterScene::get_singleton()->import_animation_from_other_importer(this, p_path, p_flags, p_bake_fps); -} - void EditorSceneFormatImporter::_bind_methods() { - ClassDB::bind_method(D_METHOD("import_scene_from_other_importer", "path", "flags", "bake_fps"), &EditorSceneFormatImporter::import_scene_from_other_importer); - ClassDB::bind_method(D_METHOD("import_animation_from_other_importer", "path", "flags", "bake_fps"), &EditorSceneFormatImporter::import_animation_from_other_importer); - GDVIRTUAL_BIND(_get_import_flags); GDVIRTUAL_BIND(_get_extensions); - GDVIRTUAL_BIND(_import_scene, "path", "flags", "bake_fps"); - GDVIRTUAL_BIND(_import_animation, "path", "flags", "bake_fps"); + GDVIRTUAL_BIND(_import_scene, "path", "flags", "options", "bake_fps"); + GDVIRTUAL_BIND(_import_animation, "path", "flags", "options", "bake_fps"); GDVIRTUAL_BIND(_get_import_options, "path"); GDVIRTUAL_BIND(_get_option_visibility, "path", "option"); @@ -1473,64 +1467,6 @@ void ResourceImporterScene::_replace_owner(Node *p_node, Node *p_scene, Node *p_ } } -Node *ResourceImporterScene::import_scene_from_other_importer(EditorSceneFormatImporter *p_exception, const String &p_path, uint32_t p_flags, int p_bake_fps) { - Ref<EditorSceneFormatImporter> importer; - String ext = p_path.get_extension().to_lower(); - - for (Set<Ref<EditorSceneFormatImporter>>::Element *E = importers.front(); E; E = E->next()) { - if (E->get().ptr() == p_exception) { - continue; - } - List<String> extensions; - E->get()->get_extensions(&extensions); - - for (const String &F : extensions) { - if (F.to_lower() == ext) { - importer = E->get(); - break; - } - } - - if (importer.is_valid()) { - break; - } - } - - ERR_FAIL_COND_V(!importer.is_valid(), nullptr); - - List<String> missing; - Error err; - return importer->import_scene(p_path, p_flags, p_bake_fps, &missing, &err); -} - -Ref<Animation> ResourceImporterScene::import_animation_from_other_importer(EditorSceneFormatImporter *p_exception, const String &p_path, uint32_t p_flags, int p_bake_fps) { - Ref<EditorSceneFormatImporter> importer; - String ext = p_path.get_extension().to_lower(); - - for (Set<Ref<EditorSceneFormatImporter>>::Element *E = importers.front(); E; E = E->next()) { - if (E->get().ptr() == p_exception) { - continue; - } - List<String> extensions; - E->get()->get_extensions(&extensions); - - for (const String &F : extensions) { - if (F.to_lower() == ext) { - importer = E->get(); - break; - } - } - - if (importer.is_valid()) { - break; - } - } - - ERR_FAIL_COND_V(!importer.is_valid(), nullptr); - - return importer->import_animation(p_path, p_flags, p_bake_fps); -} - void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_mesh_data, bool p_generate_lods, bool p_create_shadow_meshes, LightBakeMode p_light_bake_mode, float p_lightmap_texel_size, const Vector<uint8_t> &p_src_lightmap_cache, Vector<Vector<uint8_t>> &r_lightmap_caches) { ImporterMeshInstance3D *src_mesh_node = Object::cast_to<ImporterMeshInstance3D>(p_node); if (src_mesh_node) { @@ -1886,7 +1822,7 @@ Node *ResourceImporterScene::pre_import(const String &p_source_file) { ERR_FAIL_COND_V(!importer.is_valid(), nullptr); Error err = OK; - Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, 15, nullptr, &err); + Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, Map<StringName, Variant>(), 15, nullptr, &err); if (!scene || err != OK) { return nullptr; } @@ -1944,7 +1880,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p Error err = OK; List<String> missing_deps; // for now, not much will be done with this - Node *scene = importer->import_scene(src_path, import_flags, fps, &missing_deps, &err); + Node *scene = importer->import_scene(src_path, import_flags, p_options, fps, &missing_deps, &err); if (!scene || err != OK) { return err; } @@ -2121,7 +2057,7 @@ void EditorSceneFormatImporterESCN::get_extensions(List<String> *r_extensions) c r_extensions->push_back("escn"); } -Node *EditorSceneFormatImporterESCN::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { +Node *EditorSceneFormatImporterESCN::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { Error error; Ref<PackedScene> ps = ResourceFormatLoaderText::singleton->load(p_path, p_path, &error); ERR_FAIL_COND_V_MSG(!ps.is_valid(), nullptr, "Cannot load scene as text resource from path '" + p_path + "'."); @@ -2132,6 +2068,6 @@ Node *EditorSceneFormatImporterESCN::import_scene(const String &p_path, uint32_t return scene; } -Ref<Animation> EditorSceneFormatImporterESCN::import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) { +Ref<Animation> EditorSceneFormatImporterESCN::import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) { ERR_FAIL_V(Ref<Animation>()); } diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index 5437ecd159..00d095eac1 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,7 +31,9 @@ #ifndef RESOURCEIMPORTERSCENE_H #define RESOURCEIMPORTERSCENE_H +#include "core/error/error_macros.h" #include "core/io/resource_importer.h" +#include "core/variant/dictionary.h" #include "scene/3d/node_3d.h" #include "scene/resources/animation.h" #include "scene/resources/mesh.h" @@ -48,13 +50,13 @@ class EditorSceneFormatImporter : public RefCounted { protected: static void _bind_methods(); - Node *import_scene_from_other_importer(const String &p_path, uint32_t p_flags, int p_bake_fps); - Ref<Animation> import_animation_from_other_importer(const String &p_path, uint32_t p_flags, int p_bake_fps); + Node *import_scene_wrapper(const String &p_path, uint32_t p_flags, Dictionary p_options, int p_bake_fps); + Ref<Animation> import_animation_wrapper(const String &p_path, uint32_t p_flags, Dictionary p_options, int p_bake_fps); GDVIRTUAL0RC(int, _get_import_flags) GDVIRTUAL0RC(Vector<String>, _get_extensions) - GDVIRTUAL3R(Object *, _import_scene, String, uint32_t, uint32_t) - GDVIRTUAL3R(Ref<Animation>, _import_animation, String, uint32_t, uint32_t) + GDVIRTUAL4R(Object *, _import_scene, String, uint32_t, Dictionary, uint32_t) + GDVIRTUAL4R(Ref<Animation>, _import_animation, String, uint32_t, Dictionary, uint32_t) GDVIRTUAL1(_get_import_options, String) GDVIRTUAL2RC(Variant, _get_option_visibility, String, String) @@ -69,8 +71,8 @@ public: virtual uint32_t get_import_flags() const; virtual void get_extensions(List<String> *r_extensions) const; - virtual Node *import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr); - virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps); + virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr); + virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps); virtual void get_import_options(const String &p_path, List<ResourceImporter::ImportOption> *r_options); virtual Variant get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options); @@ -270,9 +272,6 @@ public: Node *pre_import(const String &p_source_file); 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 = nullptr, Variant *r_metadata = nullptr) override; - Node *import_scene_from_other_importer(EditorSceneFormatImporter *p_exception, const String &p_path, uint32_t p_flags, int p_bake_fps); - Ref<Animation> import_animation_from_other_importer(EditorSceneFormatImporter *p_exception, const String &p_path, uint32_t p_flags, int p_bake_fps); - virtual bool has_advanced_options() const override; virtual void show_advanced_options(const String &p_path) override; @@ -293,8 +292,8 @@ class EditorSceneFormatImporterESCN : public EditorSceneFormatImporter { public: virtual uint32_t get_import_flags() const override; virtual void get_extensions(List<String> *r_extensions) const override; - virtual Node *import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override; - virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, int p_bake_fps) override; + virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override; + virtual Ref<Animation> import_animation(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps) override; }; #include "scene/resources/box_shape_3d.h" diff --git a/editor/import/resource_importer_shader_file.cpp b/editor/import/resource_importer_shader_file.cpp index 797e11f5ea..cc34259a2d 100644 --- a/editor/import/resource_importer_shader_file.cpp +++ b/editor/import/resource_importer_shader_file.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_shader_file.h b/editor/import/resource_importer_shader_file.h index 3ed489e9fb..858c2e783c 100644 --- a/editor/import/resource_importer_shader_file.h +++ b/editor/import/resource_importer_shader_file.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index 5ca61e4c39..59550a3ee3 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index cb9d1b08cd..ea2318fb33 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp index 048d84d1f9..d2a9fe2538 100644 --- a/editor/import/resource_importer_texture_atlas.cpp +++ b/editor/import/resource_importer_texture_atlas.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture_atlas.h b/editor/import/resource_importer_texture_atlas.h index 177ef949ac..a5e47dee99 100644 --- a/editor/import/resource_importer_texture_atlas.h +++ b/editor/import/resource_importer_texture_atlas.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index 820eba951f..8cb9a47fb5 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h index e3e605aeb2..a5b576ceb9 100644 --- a/editor/import/resource_importer_wav.h +++ b/editor/import/resource_importer_wav.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/scene_import_settings.cpp b/editor/import/scene_import_settings.cpp index a376596f9b..eed1888c6a 100644 --- a/editor/import/scene_import_settings.cpp +++ b/editor/import/scene_import_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h index c7c94af493..4edf05c7bb 100644 --- a/editor/import/scene_import_settings.h +++ b/editor/import/scene_import_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_defaults_editor.cpp b/editor/import_defaults_editor.cpp index 4b69810861..15d3c4b3ee 100644 --- a/editor/import_defaults_editor.cpp +++ b/editor/import_defaults_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_defaults_editor.h b/editor/import_defaults_editor.h index c1becac5e9..e84e4b6646 100644 --- a/editor/import_defaults_editor.h +++ b/editor/import_defaults_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 3507eaff94..10654cfe43 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #include "import_dock.h" #include "editor_node.h" #include "editor_resource_preview.h" +#include "editor_scale.h" class ImportDockParameters : public Object { GDCLASS(ImportDockParameters, Object); @@ -135,6 +136,8 @@ void ImportDock::set_edit_path(const String &p_path) { _set_dirty(false); import_as->set_disabled(false); preset->set_disabled(false); + content->show(); + select_a_resource->hide(); imported->set_text(p_path.get_file()); } @@ -294,6 +297,8 @@ void ImportDock::set_edit_multiple_paths(const Vector<String> &p_paths) { _set_dirty(false); import_as->set_disabled(false); preset->set_disabled(false); + content->show(); + select_a_resource->hide(); imported->set_text(vformat(TTR("%d Files"), p_paths.size())); @@ -423,6 +428,8 @@ void ImportDock::clear() { params->properties.clear(); params->update(); preset->get_popup()->clear(); + content->hide(); + select_a_resource->show(); } static bool _find_owners(EditorFileSystemDirectory *efsd, const String &p_path) { @@ -600,12 +607,18 @@ void ImportDock::initialize_import_options() const { ImportDock::ImportDock() { set_name("Import"); + + content = memnew(VBoxContainer); + content->set_v_size_flags(SIZE_EXPAND_FILL); + add_child(content); + content->hide(); + imported = memnew(Label); imported->add_theme_style_override("normal", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("normal"), SNAME("LineEdit"))); imported->set_clip_text(true); - add_child(imported); + content->add_child(imported); HBoxContainer *hb = memnew(HBoxContainer); - add_margin_child(TTR("Import As:"), hb); + content->add_margin_child(TTR("Import As:"), hb); import_as = memnew(OptionButton); import_as->set_disabled(true); import_as->connect("item_selected", callable_mp(this, &ImportDock::_importer_selected)); @@ -618,13 +631,13 @@ ImportDock::ImportDock() { hb->add_child(preset); import_opts = memnew(EditorInspector); - add_child(import_opts); + content->add_child(import_opts); import_opts->set_v_size_flags(SIZE_EXPAND_FILL); import_opts->connect("property_edited", callable_mp(this, &ImportDock::_property_edited)); import_opts->connect("property_toggled", callable_mp(this, &ImportDock::_property_toggled)); hb = memnew(HBoxContainer); - add_child(hb); + content->add_child(hb); import = memnew(Button); import->set_text(TTR("Reimport")); import->set_disabled(true); @@ -652,7 +665,7 @@ ImportDock::ImportDock() { reimport_confirm = memnew(ConfirmationDialog); reimport_confirm->get_ok_button()->set_text(TTR("Save Scenes, Re-Import, and Restart")); - add_child(reimport_confirm); + content->add_child(reimport_confirm); reimport_confirm->connect("confirmed", callable_mp(this, &ImportDock::_reimport_and_restart)); VBoxContainer *vbc_confirm = memnew(VBoxContainer()); @@ -662,6 +675,15 @@ ImportDock::ImportDock() { reimport_confirm->add_child(vbc_confirm); params = memnew(ImportDockParameters); + + select_a_resource = memnew(Label); + select_a_resource->set_text(TTR("Select a resource file in the filesystem or in the inspector to adjust import settings.")); + select_a_resource->set_autowrap_mode(Label::AUTOWRAP_WORD); + select_a_resource->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); + select_a_resource->set_v_size_flags(SIZE_EXPAND_FILL); + select_a_resource->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + select_a_resource->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); + add_child(select_a_resource); } ImportDock::~ImportDock() { diff --git a/editor/import_dock.h b/editor/import_dock.h index ac73f3e3c0..33fc23f1b4 100644 --- a/editor/import_dock.h +++ b/editor/import_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -62,6 +62,9 @@ class ImportDock : public VBoxContainer { ImportDockParameters *params; + VBoxContainer *content; + Label *select_a_resource; + void _preset_selected(int p_idx); void _importer_selected(int i_idx); void _update_options(const String &p_path, const Ref<ConfigFile> &p_config = Ref<ConfigFile>()); diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index f594a5a3a8..ccb287e433 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/inspector_dock.h b/editor/inspector_dock.h index 5bf6a34617..94e4f67348 100644 --- a/editor/inspector_dock.h +++ b/editor/inspector_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,7 +32,6 @@ #define INSPECTOR_DOCK_H #include "editor/animation_track_editor.h" -#include "editor/connections_dialog.h" #include "editor/create_dialog.h" #include "editor/editor_data.h" #include "editor/editor_inspector.h" diff --git a/editor/localization_editor.cpp b/editor/localization_editor.cpp index 9d48a43d4d..a902b070f4 100644 --- a/editor/localization_editor.cpp +++ b/editor/localization_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/localization_editor.h b/editor/localization_editor.h index 23cea06fbe..4c77aca397 100644 --- a/editor/localization_editor.h +++ b/editor/localization_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp index 1a30770b53..59fc473d73 100644 --- a/editor/multi_node_edit.cpp +++ b/editor/multi_node_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/multi_node_edit.h b/editor/multi_node_edit.h index 2efecb9f65..31678d7b01 100644 --- a/editor/multi_node_edit.h +++ b/editor/multi_node_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/node_dock.cpp b/editor/node_dock.cpp index c3dc7eae28..d8f16b367a 100644 --- a/editor/node_dock.cpp +++ b/editor/node_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,6 +30,7 @@ #include "node_dock.h" +#include "connections_dialog.h" #include "editor_node.h" #include "editor_scale.h" diff --git a/editor/node_dock.h b/editor/node_dock.h index 280369bb09..b35be8de8a 100644 --- a/editor/node_dock.h +++ b/editor/node_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,9 +31,10 @@ #ifndef NODE_DOCK_H #define NODE_DOCK_H -#include "connections_dialog.h" #include "groups_editor.h" +class ConnectionsDock; + class NodeDock : public VBoxContainer { GDCLASS(NodeDock, VBoxContainer); diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp index ad22aafb2b..5786d24d23 100644 --- a/editor/plugin_config_dialog.cpp +++ b/editor/plugin_config_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,12 +36,6 @@ #include "editor/editor_plugin.h" #include "editor/editor_scale.h" #include "editor/project_settings_editor.h" -#include "scene/gui/grid_container.h" - -#include "modules/modules_enabled.gen.h" // For gdscript. -#ifdef MODULE_GDSCRIPT_ENABLED -#include "modules/gdscript/gdscript.h" -#endif void PluginConfigDialog::_clear_fields() { name_edit->set_text(""); @@ -76,42 +70,16 @@ void PluginConfigDialog::_on_confirmed() { String lang_name = ScriptServer::get_language(lang_idx)->get_name(); Ref<Script> script; - - // TODO Use script templates. Right now, this code won't add the 'tool' annotation to other languages. - // TODO Better support script languages with named classes (has_named_classes). - - // FIXME: It's hacky to have hardcoded access to the GDScript module here. - // The editor code should not have to know what languages are enabled. -#ifdef MODULE_GDSCRIPT_ENABLED - if (lang_name == GDScriptLanguage::get_singleton()->get_name()) { - // Hard-coded GDScript template to keep usability until we use script templates. - Ref<Script> gdscript = memnew(GDScript); - gdscript->set_source_code( - "@tool\n" - "extends EditorPlugin\n" - "\n" - "\n" - "func _enter_tree()%VOID_RETURN%:\n" - "%TS%pass\n" - "\n" - "\n" - "func _exit_tree()%VOID_RETURN%:\n" - "%TS%pass\n"); - GDScriptLanguage::get_singleton()->make_template("", "", gdscript); - String script_path = path.plus_file(script_edit->get_text()); - gdscript->set_path(script_path); - ResourceSaver::save(script_path, gdscript); - script = gdscript; - } else { -#endif - String script_path = path.plus_file(script_edit->get_text()); - String class_name = script_path.get_file().get_basename(); - script = ScriptServer::get_language(lang_idx)->get_template(class_name, "EditorPlugin"); - script->set_path(script_path); - ResourceSaver::save(script_path, script); -#ifdef MODULE_GDSCRIPT_ENABLED + String script_path = path.plus_file(script_edit->get_text()); + String class_name = script_path.get_file().get_basename(); + String template_content = ""; + Vector<ScriptLanguage::ScriptTemplate> templates = ScriptServer::get_language(lang_idx)->get_built_in_templates("EditorPlugin"); + if (templates.size() > 0) { + template_content = templates.get(0).content; } -#endif + script = ScriptServer::get_language(lang_idx)->make_template(template_content, class_name, "EditorPlugin"); + script->set_path(script_path); + ResourceSaver::save(script_path, script); emit_signal(SNAME("plugin_ready"), script.operator->(), active_edit->is_pressed() ? _to_absolute_plugin_path(subfolder_edit->get_text()) : ""); } else { @@ -331,11 +299,9 @@ PluginConfigDialog::PluginConfigDialog() { for (int i = 0; i < ScriptServer::get_language_count(); i++) { ScriptLanguage *lang = ScriptServer::get_language(i); script_option_edit->add_item(lang->get_name()); -#ifdef MODULE_GDSCRIPT_ENABLED - if (lang == GDScriptLanguage::get_singleton()) { + if (lang->get_name() == "GDScript") { default_lang = i; } -#endif } script_option_edit->select(default_lang); grid->add_child(script_option_edit); diff --git a/editor/plugin_config_dialog.h b/editor/plugin_config_dialog.h index 45fcdb6b6e..0dc2e84a98 100644 --- a/editor/plugin_config_dialog.h +++ b/editor/plugin_config_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 72d94e61ca..348ef4ecc7 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/abstract_polygon_2d_editor.h b/editor/plugins/abstract_polygon_2d_editor.h index 5fea8b75d6..8db5bf58dd 100644 --- a/editor/plugins/abstract_polygon_2d_editor.h +++ b/editor/plugins/abstract_polygon_2d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp index f16ea36a23..3dcb769faf 100644 --- a/editor/plugins/animation_blend_space_1d_editor.cpp +++ b/editor/plugins/animation_blend_space_1d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h index 503e066894..7906395c8f 100644 --- a/editor/plugins/animation_blend_space_1d_editor.h +++ b/editor/plugins/animation_blend_space_1d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp index b107478724..459de5d35b 100644 --- a/editor/plugins/animation_blend_space_2d_editor.cpp +++ b/editor/plugins/animation_blend_space_2d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_2d_editor.h b/editor/plugins/animation_blend_space_2d_editor.h index 3b8b78b2b5..b46efff304 100644 --- a/editor/plugins/animation_blend_space_2d_editor.h +++ b/editor/plugins/animation_blend_space_2d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index d9a6f19384..9ebdede4e9 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h index 68da5c6f79..8e63e39fd5 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.h +++ b/editor/plugins/animation_blend_tree_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 14390511de..4ce9f40a5e 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h index 26bcff891d..4e7ea46c1d 100644 --- a/editor/plugins/animation_player_editor_plugin.h +++ b/editor/plugins/animation_player_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index cf3bc58af9..94990636da 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h index a969ddd26b..8970e3e062 100644 --- a/editor/plugins/animation_state_machine_editor.h +++ b/editor/plugins/animation_state_machine_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp index d65ed9cea2..adfea236d3 100644 --- a/editor/plugins/animation_tree_editor_plugin.cpp +++ b/editor/plugins/animation_tree_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h index de3d89ae17..14c5658478 100644 --- a/editor/plugins/animation_tree_editor_plugin.h +++ b/editor/plugins/animation_tree_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 994e89d96f..49bef4acd5 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -288,7 +288,7 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() { preview = memnew(TextureRect); previews_vbox->add_child(preview); - preview->set_expand(true); + preview->set_ignore_texture_size(true); preview->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED); preview->set_custom_minimum_size(Size2(640 * EDSCALE, 345 * EDSCALE)); diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h index 5fbf2833b2..d797608c24 100644 --- a/editor/plugins/asset_library_editor_plugin.h +++ b/editor/plugins/asset_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/audio_stream_editor_plugin.cpp b/editor/plugins/audio_stream_editor_plugin.cpp index c621ade5c8..086d5474ba 100644 --- a/editor/plugins/audio_stream_editor_plugin.cpp +++ b/editor/plugins/audio_stream_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/audio_stream_editor_plugin.h b/editor/plugins/audio_stream_editor_plugin.h index 14e829d025..db0e204616 100644 --- a/editor/plugins/audio_stream_editor_plugin.h +++ b/editor/plugins/audio_stream_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/camera_3d_editor_plugin.cpp b/editor/plugins/camera_3d_editor_plugin.cpp index 8583e95b25..7c920fa15e 100644 --- a/editor/plugins/camera_3d_editor_plugin.cpp +++ b/editor/plugins/camera_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/camera_3d_editor_plugin.h b/editor/plugins/camera_3d_editor_plugin.h index e087dd22a8..e175a931b0 100644 --- a/editor/plugins/camera_3d_editor_plugin.h +++ b/editor/plugins/camera_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 4a19e7752e..089c37d7a6 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -2097,8 +2097,16 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) { if (k.is_valid() && k->is_pressed() && (tool == TOOL_SELECT || tool == TOOL_MOVE) && (k->get_keycode() == Key::UP || k->get_keycode() == Key::DOWN || k->get_keycode() == Key::LEFT || k->get_keycode() == Key::RIGHT)) { if (!k->is_echo()) { - // Start moving the canvas items with the keyboard - drag_selection = _get_edited_canvas_items(); + // Start moving the canvas items with the keyboard, if they are movable + List<CanvasItem *> selection = _get_edited_canvas_items(); + + drag_selection.clear(); + for (CanvasItem *item : selection) { + if (_is_node_movable(item, true)) { + drag_selection.push_back(item); + } + } + drag_type = DRAG_KEY_MOVE; drag_from = Vector2(); drag_to = Vector2(); @@ -5852,7 +5860,7 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons instantiated_scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(path)); - editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene); + editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene, true); editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_owner", editor->get_edited_scene()); editor_data->get_undo_redo().add_do_reference(instantiated_scene); editor_data->get_undo_redo().add_undo_method(parent, "remove_child", instantiated_scene); diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index b6576b7144..8bba5130d4 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/editor/plugins/collision_polygon_2d_editor_plugin.cpp index 8e340b28ef..22d3768a97 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.h b/editor/plugins/collision_polygon_2d_editor_plugin.h index e78c486a39..cf2e452937 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.h +++ b/editor/plugins/collision_polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_3d_editor_plugin.cpp b/editor/plugins/collision_polygon_3d_editor_plugin.cpp index 4c728ff757..bf6485f9ec 100644 --- a/editor/plugins/collision_polygon_3d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_3d_editor_plugin.h b/editor/plugins/collision_polygon_3d_editor_plugin.h index 10b0adf76c..cd8c857398 100644 --- a/editor/plugins/collision_polygon_3d_editor_plugin.h +++ b/editor/plugins/collision_polygon_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index 94fd9a5a08..8a5df6ac50 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h index ab95600a52..1c01b7019f 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.h +++ b/editor/plugins/collision_shape_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp index fb9f8696fe..e0364dc952 100644 --- a/editor/plugins/cpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.h b/editor/plugins/cpu_particles_2d_editor_plugin.h index b188df8e96..e54e1651bd 100644 --- a/editor/plugins/cpu_particles_2d_editor_plugin.h +++ b/editor/plugins/cpu_particles_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.cpp b/editor/plugins/cpu_particles_3d_editor_plugin.cpp index fc52cd0f99..bb10c04e8f 100644 --- a/editor/plugins/cpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.h b/editor/plugins/cpu_particles_3d_editor_plugin.h index 9dced3ea86..67cc156680 100644 --- a/editor/plugins/cpu_particles_3d_editor_plugin.h +++ b/editor/plugins/cpu_particles_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp index 3bb707d415..a9a276fc18 100644 --- a/editor/plugins/curve_editor_plugin.cpp +++ b/editor/plugins/curve_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -803,11 +803,8 @@ Ref<Texture2D> CurvePreviewGenerator::generate(const Ref<Resource> &p_from, cons im.create(thumbnail_size, thumbnail_size / 2, false, Image::FORMAT_RGBA8); Color bg_color(0.1, 0.1, 0.1, 1.0); - for (int i = 0; i < thumbnail_size; i++) { - for (int j = 0; j < thumbnail_size / 2; j++) { - im.set_pixel(i, j, bg_color); - } - } + + im.fill(bg_color); Color line_color(0.8, 0.8, 0.8, 1.0); float range_y = curve.get_max_value() - curve.get_min_value(); diff --git a/editor/plugins/curve_editor_plugin.h b/editor/plugins/curve_editor_plugin.h index c351f6ebe9..c7e8dea75a 100644 --- a/editor/plugins/curve_editor_plugin.h +++ b/editor/plugins/curve_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/debugger_editor_plugin.cpp b/editor/plugins/debugger_editor_plugin.cpp index 51e1b639a4..6e43130a92 100644 --- a/editor/plugins/debugger_editor_plugin.cpp +++ b/editor/plugins/debugger_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/debugger_editor_plugin.h b/editor/plugins/debugger_editor_plugin.h index a6fab01c29..6fc83cd438 100644 --- a/editor/plugins/debugger_editor_plugin.h +++ b/editor/plugins/debugger_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_debugger_plugin.cpp b/editor/plugins/editor_debugger_plugin.cpp index 5f3b11ac42..4ce3d7cfd5 100644 --- a/editor/plugins/editor_debugger_plugin.cpp +++ b/editor/plugins/editor_debugger_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_debugger_plugin.h b/editor/plugins/editor_debugger_plugin.h index 5995d790c5..b602c36912 100644 --- a/editor/plugins/editor_debugger_plugin.h +++ b/editor/plugins/editor_debugger_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index f7ec0f8c5c..cef505181a 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -514,11 +514,7 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const RES &p_from, const Size } bg_color.a = MAX(bg_color.a, 0.2); // some background - for (int i = 0; i < thumbnail_size; i++) { - for (int j = 0; j < thumbnail_size; j++) { - img->set_pixel(i, j, bg_color); - } - } + img->fill(bg_color); const int x0 = thumbnail_size / 8; const int y0 = thumbnail_size / 8; diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h index bf52f5771d..dd64918d41 100644 --- a/editor/plugins/editor_preview_plugins.h +++ b/editor/plugins/editor_preview_plugins.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/font_editor_plugin.cpp b/editor/plugins/font_editor_plugin.cpp index 52fb5b69ea..73a6781774 100644 --- a/editor/plugins/font_editor_plugin.cpp +++ b/editor/plugins/font_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/font_editor_plugin.h b/editor/plugins/font_editor_plugin.h index 3530815872..736137121a 100644 --- a/editor/plugins/font_editor_plugin.h +++ b/editor/plugins/font_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.cpp b/editor/plugins/gpu_particles_2d_editor_plugin.cpp index 4b50f484a4..6b93a1872d 100644 --- a/editor/plugins/gpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.h b/editor/plugins/gpu_particles_2d_editor_plugin.h index bdfc021aa7..55e455e252 100644 --- a/editor/plugins/gpu_particles_2d_editor_plugin.h +++ b/editor/plugins/gpu_particles_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp index 5ac58795d1..0057566603 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.h b/editor/plugins/gpu_particles_3d_editor_plugin.h index bd10895459..f7e4244ba4 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.h +++ b/editor/plugins/gpu_particles_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp index f6788f80ba..1b4c944876 100644 --- a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h index ce7ca18293..d74986f22b 100644 --- a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h +++ b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gradient_editor_plugin.cpp b/editor/plugins/gradient_editor_plugin.cpp index 6f2d950190..5e300d3de9 100644 --- a/editor/plugins/gradient_editor_plugin.cpp +++ b/editor/plugins/gradient_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gradient_editor_plugin.h b/editor/plugins/gradient_editor_plugin.h index 95b7b466c9..8239711667 100644 --- a/editor/plugins/gradient_editor_plugin.h +++ b/editor/plugins/gradient_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/input_event_editor_plugin.cpp b/editor/plugins/input_event_editor_plugin.cpp index d3d2de92f5..b0ee88479a 100644 --- a/editor/plugins/input_event_editor_plugin.cpp +++ b/editor/plugins/input_event_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/input_event_editor_plugin.h b/editor/plugins/input_event_editor_plugin.h index bc8293c9e5..ed26890229 100644 --- a/editor/plugins/input_event_editor_plugin.h +++ b/editor/plugins/input_event_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.cpp b/editor/plugins/light_occluder_2d_editor_plugin.cpp index 3d555d7eba..94ab89e2f6 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.cpp +++ b/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.h b/editor/plugins/light_occluder_2d_editor_plugin.h index eb1ce04788..1a0cd3514b 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.h +++ b/editor/plugins/light_occluder_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/lightmap_gi_editor_plugin.cpp b/editor/plugins/lightmap_gi_editor_plugin.cpp index d7b469cb74..2126ca1bc9 100644 --- a/editor/plugins/lightmap_gi_editor_plugin.cpp +++ b/editor/plugins/lightmap_gi_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,13 +33,14 @@ void LightmapGIEditorPlugin::_bake_select_file(const String &p_file) { if (lightmap) { LightmapGI::BakeError err; + const uint64_t time_started = OS::get_singleton()->get_ticks_msec(); if (get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root() == lightmap) { err = lightmap->bake(lightmap, p_file, bake_func_step); } else { err = lightmap->bake(lightmap->get_parent(), p_file, bake_func_step); } - bake_func_end(); + bake_func_end(time_started); switch (err) { case LightmapGI::BAKE_ERROR_NO_SAVE_PATH: { @@ -104,11 +105,18 @@ bool LightmapGIEditorPlugin::bake_func_step(float p_progress, const String &p_de return tmp_progress->step(p_description, p_progress * 1000, p_refresh); } -void LightmapGIEditorPlugin::bake_func_end() { +void LightmapGIEditorPlugin::bake_func_end(uint64_t p_time_started) { if (tmp_progress != nullptr) { memdelete(tmp_progress); tmp_progress = nullptr; } + + const int time_taken = (OS::get_singleton()->get_ticks_msec() - p_time_started) * 0.001; + print_line(vformat("Done baking lightmaps in %02d:%02d:%02d.", time_taken / 3600, (time_taken % 3600) / 60, time_taken % 60)); + // Request attention in case the user was doing something else. + // Baking lightmaps is likely the editor task that can take the most time, + // so only request the attention for baking lightmaps. + DisplayServer::get_singleton()->window_request_attention(); } void LightmapGIEditorPlugin::_bind_methods() { diff --git a/editor/plugins/lightmap_gi_editor_plugin.h b/editor/plugins/lightmap_gi_editor_plugin.h index 12d080d6be..5eec972228 100644 --- a/editor/plugins/lightmap_gi_editor_plugin.h +++ b/editor/plugins/lightmap_gi_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -47,7 +47,7 @@ class LightmapGIEditorPlugin : public EditorPlugin { EditorFileDialog *file_dialog; static EditorProgress *tmp_progress; static bool bake_func_step(float p_progress, const String &p_description, void *, bool p_refresh); - static void bake_func_end(); + static void bake_func_end(uint64_t p_time_started); void _bake_select_file(const String &p_file); void _bake(); diff --git a/editor/plugins/line_2d_editor_plugin.cpp b/editor/plugins/line_2d_editor_plugin.cpp index 08c5ef02a4..9d7e22278e 100644 --- a/editor/plugins/line_2d_editor_plugin.cpp +++ b/editor/plugins/line_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/line_2d_editor_plugin.h b/editor/plugins/line_2d_editor_plugin.h index 769109583a..4497307747 100644 --- a/editor/plugins/line_2d_editor_plugin.h +++ b/editor/plugins/line_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp index bfbe6e26a9..9d45c365a8 100644 --- a/editor/plugins/material_editor_plugin.cpp +++ b/editor/plugins/material_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -254,6 +254,43 @@ void EditorInspectorPluginMaterial::parse_begin(Object *p_object) { add_custom_control(editor); } +void EditorInspectorPluginMaterial::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p_edited, String p_property, Variant p_new_value) { + UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo); + if (!undo_redo) { + return; + } + + // For BaseMaterial3D, if a roughness or metallic textures is being assigned to an empty slot, + // set the respective metallic or roughness factor to 1.0 as a convenience feature + BaseMaterial3D *base_material = Object::cast_to<StandardMaterial3D>(p_edited); + if (base_material) { + Texture2D *texture = Object::cast_to<Texture2D>(p_new_value); + if (texture) { + if (p_property == "roughness_texture") { + if (base_material->get_texture(StandardMaterial3D::TEXTURE_ROUGHNESS).is_null() && texture) { + undo_redo->add_do_property(p_edited, "roughness", 1.0); + + bool valid = false; + Variant value = p_edited->get("roughness", &valid); + if (valid) { + undo_redo->add_undo_property(p_edited, "roughness", value); + } + } + } else if (p_property == "metallic_texture") { + if (base_material->get_texture(StandardMaterial3D::TEXTURE_METALLIC).is_null() && texture) { + undo_redo->add_do_property(p_edited, "metallic", 1.0); + + bool valid = false; + Variant value = p_edited->get("metallic", &valid); + if (valid) { + undo_redo->add_undo_property(p_edited, "metallic", value); + } + } + } + } + } +} + EditorInspectorPluginMaterial::EditorInspectorPluginMaterial() { env.instantiate(); Ref<Sky> sky = memnew(Sky()); @@ -261,6 +298,8 @@ EditorInspectorPluginMaterial::EditorInspectorPluginMaterial() { env->set_background(Environment::BG_COLOR); env->set_ambient_source(Environment::AMBIENT_SOURCE_SKY); env->set_reflection_source(Environment::REFLECTION_SOURCE_SKY); + + EditorNode::get_singleton()->get_editor_data().add_undo_redo_inspector_hook_callback(callable_mp(this, &EditorInspectorPluginMaterial::_undo_redo_inspector_callback)); } MaterialEditorPlugin::MaterialEditorPlugin(EditorNode *p_node) { diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h index 8262b8149d..53f4513396 100644 --- a/editor/plugins/material_editor_plugin.h +++ b/editor/plugins/material_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -92,6 +92,8 @@ public: virtual bool can_handle(Object *p_object) override; virtual void parse_begin(Object *p_object) override; + void _undo_redo_inspector_callback(Object *p_undo_redo, Object *p_edited, String p_property, Variant p_new_value); + EditorInspectorPluginMaterial(); }; diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp index 4b18ac6e9f..daf68f247d 100644 --- a/editor/plugins/mesh_editor_plugin.cpp +++ b/editor/plugins/mesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_editor_plugin.h b/editor/plugins/mesh_editor_plugin.h index 1e88b70202..613680e870 100644 --- a/editor/plugins/mesh_editor_plugin.h +++ b/editor/plugins/mesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp index 2ce13b717a..75e9cc23a1 100644 --- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.h b/editor/plugins/mesh_instance_3d_editor_plugin.h index 98b667c978..1df72d107c 100644 --- a/editor/plugins/mesh_instance_3d_editor_plugin.h +++ b/editor/plugins/mesh_instance_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index fd62f632dc..d82d0c6ffc 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_library_editor_plugin.h b/editor/plugins/mesh_library_editor_plugin.h index 9e225ffb9b..7144f87ba6 100644 --- a/editor/plugins/mesh_library_editor_plugin.h +++ b/editor/plugins/mesh_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp index 517aca596a..4ec65ea257 100644 --- a/editor/plugins/multimesh_editor_plugin.cpp +++ b/editor/plugins/multimesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/multimesh_editor_plugin.h b/editor/plugins/multimesh_editor_plugin.h index 2cdd7cf504..ae18edd90a 100644 --- a/editor/plugins/multimesh_editor_plugin.h +++ b/editor/plugins/multimesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.cpp b/editor/plugins/navigation_polygon_editor_plugin.cpp index 9971d3111d..e9e2a843cd 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.cpp +++ b/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.h b/editor/plugins/navigation_polygon_editor_plugin.h index 0f5928d416..446083902c 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.h +++ b/editor/plugins/navigation_polygon_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp index 32355735cc..474e84cae8 100644 --- a/editor/plugins/node_3d_editor_gizmos.cpp +++ b/editor/plugins/node_3d_editor_gizmos.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/node_3d_editor_gizmos.h b/editor/plugins/node_3d_editor_gizmos.h index cf9a464b69..a8383aefed 100644 --- a/editor/plugins/node_3d_editor_gizmos.h +++ b/editor/plugins/node_3d_editor_gizmos.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index f49b749046..957d1483bc 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -954,7 +954,7 @@ bool Node3DEditorViewport::_transform_gizmo_select(const Vector2 &p_screenpos, b real_t col_d = 1e20; for (int i = 0; i < 3; i++) { - const Vector3 grabber_pos = gt.origin + gt.basis.get_axis(i) * gizmo_scale * (GIZMO_ARROW_OFFSET + (GIZMO_ARROW_SIZE * 0.5)); + const Vector3 grabber_pos = gt.origin + gt.basis.get_axis(i).normalized() * gizmo_scale * (GIZMO_ARROW_OFFSET + (GIZMO_ARROW_SIZE * 0.5)); const real_t grabber_radius = gizmo_scale * GIZMO_ARROW_SIZE; Vector3 r; @@ -1058,7 +1058,7 @@ bool Node3DEditorViewport::_transform_gizmo_select(const Vector2 &p_screenpos, b float col_d = 1e20; for (int i = 0; i < 3; i++) { - const Vector3 grabber_pos = gt.origin + gt.basis.get_axis(i) * gizmo_scale * GIZMO_SCALE_OFFSET; + const Vector3 grabber_pos = gt.origin + gt.basis.get_axis(i).normalized() * gizmo_scale * GIZMO_SCALE_OFFSET; const real_t grabber_radius = gizmo_scale * GIZMO_ARROW_SIZE; Vector3 r; @@ -1138,68 +1138,62 @@ void Node3DEditorViewport::_transform_gizmo_apply(Node3D *p_node, const Transfor } } -Transform3D Node3DEditorViewport::_compute_transform(TransformMode p_mode, const Transform3D &p_original, const Transform3D &p_original_local, Vector3 p_motion, double p_extra, bool p_local) { +Transform3D Node3DEditorViewport::_compute_transform(TransformMode p_mode, const Transform3D &p_original, const Transform3D &p_original_local, Vector3 p_motion, double p_extra, bool p_local, bool p_orthogonal) { switch (p_mode) { case TRANSFORM_SCALE: { + if (_edit.snap || spatial_editor->is_snap_enabled()) { + p_motion.snap(Vector3(p_extra, p_extra, p_extra)); + } + Transform3D s; if (p_local) { - Basis g = p_original.basis.orthonormalized(); - Vector3 local_motion = g.inverse().xform(p_motion); - - if (_edit.snap || spatial_editor->is_snap_enabled()) { - local_motion.snap(Vector3(p_extra, p_extra, p_extra)); - } - - Transform3D local_t; - local_t.basis = p_original_local.basis.scaled_local(local_motion + Vector3(1, 1, 1)); - local_t.origin = p_original_local.origin; - return local_t; + s.basis = p_original_local.basis.scaled_local(p_motion + Vector3(1, 1, 1)); + s.origin = p_original_local.origin; } else { + s.basis.scale(p_motion + Vector3(1, 1, 1)); Transform3D base = Transform3D(Basis(), _edit.center); - if (_edit.snap || spatial_editor->is_snap_enabled()) { - p_motion.snap(Vector3(p_extra, p_extra, p_extra)); + s = base * (s * (base.inverse() * p_original)); + + // Recalculate orthogonalized scale without moving origin. + if (p_orthogonal) { + s.basis = p_original_local.basis.scaled_orthogonal(p_motion + Vector3(1, 1, 1)); + // The scaled_orthogonal() does not require orthogonal Basis, + // but it may make a bit skew by precision problems. + s.basis.orthogonalize(); } - - Transform3D global_t; - global_t.basis.scale(p_motion + Vector3(1, 1, 1)); - return base * (global_t * (base.inverse() * p_original)); } + + return s; } case TRANSFORM_TRANSLATE: { - if (p_local) { - if (_edit.snap || spatial_editor->is_snap_enabled()) { - Basis g = p_original.basis.orthonormalized(); - Vector3 local_motion = g.inverse().xform(p_motion); - local_motion.snap(Vector3(p_extra, p_extra, p_extra)); - - p_motion = g.xform(local_motion); - } + if (_edit.snap || spatial_editor->is_snap_enabled()) { + p_motion.snap(Vector3(p_extra, p_extra, p_extra)); + } - } else { - if (_edit.snap || spatial_editor->is_snap_enabled()) { - p_motion.snap(Vector3(p_extra, p_extra, p_extra)); - } + if (p_local) { + p_motion = p_original.basis.xform(p_motion); } // Apply translation Transform3D t = p_original; t.origin += p_motion; + return t; } case TRANSFORM_ROTATE: { + Transform3D r; + if (p_local) { - Transform3D r; Vector3 axis = p_original_local.basis.xform(p_motion); r.basis = Basis(axis.normalized(), p_extra) * p_original_local.basis; r.origin = p_original_local.origin; - return r; } else { - Transform3D r; Basis local = p_original.basis * p_original_local.basis.inverse(); Vector3 axis = local.xform_inv(p_motion); r.basis = local * Basis(axis.normalized(), p_extra) * p_original_local.basis; r.origin = Basis(p_motion, p_extra).xform(p_original.origin - _edit.center) + _edit.center; - return r; } + + return r; } default: { ERR_FAIL_V_MSG(Transform3D(), "Invalid mode in '_compute_transform'"); @@ -1480,6 +1474,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.original_mouse_pos = b->get_position(); _edit.snap = spatial_editor->is_snap_enabled(); _edit.mode = TRANSFORM_NONE; + _edit.original = spatial_editor->get_gizmo_transform(); // To prevent to break when flipping with scale. bool can_select_gizmos = spatial_editor->get_single_selected_node(); @@ -1783,30 +1778,30 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { plane = Plane(_get_camera_normal(), _edit.center); break; case TRANSFORM_X_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_Y_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(1); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_Z_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_YZ: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2) + spatial_editor->get_gizmo_transform().basis.get_axis(1); - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0), _edit.center); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized() + spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(), _edit.center); plane_mv = true; break; case TRANSFORM_XZ: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2) + spatial_editor->get_gizmo_transform().basis.get_axis(0); - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1), _edit.center); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized() + spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(), _edit.center); plane_mv = true; break; case TRANSFORM_XY: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0) + spatial_editor->get_gizmo_transform().basis.get_axis(1); - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2), _edit.center); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized() + spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized(), _edit.center); plane_mv = true; break; } @@ -1857,6 +1852,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { // This might not be necessary anymore after issue #288 is solved (in 4.0?). set_message(TTR("Scaling: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " + String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")"); + motion = _edit.original.basis.inverse().xform(motion); List<Node *> &selection = editor_selection->get_selected_node_list(); for (Node *E : selection) { @@ -1877,14 +1873,14 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (se->gizmo.is_valid()) { for (KeyValue<int, Transform3D> &GE : se->subgizmos) { Transform3D xform = GE.value; - Transform3D new_xform = _compute_transform(TRANSFORM_SCALE, se->original * xform, xform, motion, snap, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_SCALE, se->original * xform, xform, motion, snap, local_coords, true); // Force orthogonal with subgizmo. if (!local_coords) { new_xform = se->original.affine_inverse() * new_xform; } se->gizmo->set_subgizmo_transform(GE.key, new_xform); } } else { - Transform3D new_xform = _compute_transform(TRANSFORM_SCALE, se->original, se->original_local, motion, snap, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_SCALE, se->original, se->original_local, motion, snap, local_coords, sp->get_rotation_edit_mode() != Node3D::ROTATION_EDIT_MODE_BASIS); _transform_gizmo_apply(se->sp, new_xform, local_coords); } } @@ -1904,27 +1900,27 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { plane = Plane(_get_camera_normal(), _edit.center); break; case TRANSFORM_X_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_Y_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(1); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_Z_AXIS: - motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2); + motion_mask = spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized(); plane = Plane(motion_mask.cross(motion_mask.cross(_get_camera_normal())).normalized(), _edit.center); break; case TRANSFORM_YZ: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(), _edit.center); plane_mv = true; break; case TRANSFORM_XZ: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(), _edit.center); plane_mv = true; break; case TRANSFORM_XY: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized(), _edit.center); plane_mv = true; break; } @@ -1956,6 +1952,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { motion_snapped.snap(Vector3(snap, snap, snap)); set_message(TTR("Translating: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " + String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")"); + motion = spatial_editor->get_gizmo_transform().basis.inverse().xform(motion); List<Node *> &selection = editor_selection->get_selected_node_list(); for (Node *E : selection) { @@ -1976,12 +1973,12 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (se->gizmo.is_valid()) { for (KeyValue<int, Transform3D> &GE : se->subgizmos) { Transform3D xform = GE.value; - Transform3D new_xform = _compute_transform(TRANSFORM_TRANSLATE, se->original * xform, xform, motion, snap, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_TRANSLATE, se->original * xform, xform, motion, snap, local_coords, true); // Force orthogonal with subgizmo. new_xform = se->original.affine_inverse() * new_xform; se->gizmo->set_subgizmo_transform(GE.key, new_xform); } } else { - Transform3D new_xform = _compute_transform(TRANSFORM_TRANSLATE, se->original, se->original_local, motion, snap, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_TRANSLATE, se->original, se->original_local, motion, snap, local_coords, sp->get_rotation_edit_mode() != Node3D::ROTATION_EDIT_MODE_BASIS); _transform_gizmo_apply(se->sp, new_xform, false); } } @@ -2000,15 +1997,15 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { plane = Plane(_get_camera_normal(), _edit.center); break; case TRANSFORM_X_AXIS: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(0).normalized(), _edit.center); axis = Vector3(1, 0, 0); break; case TRANSFORM_Y_AXIS: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(1).normalized(), _edit.center); axis = Vector3(0, 1, 0); break; case TRANSFORM_Z_AXIS: - plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2), _edit.center); + plane = Plane(spatial_editor->get_gizmo_transform().basis.get_axis(2).normalized(), _edit.center); axis = Vector3(0, 0, 1); break; case TRANSFORM_YZ: @@ -2063,14 +2060,14 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { for (KeyValue<int, Transform3D> &GE : se->subgizmos) { Transform3D xform = GE.value; - Transform3D new_xform = _compute_transform(TRANSFORM_ROTATE, se->original * xform, xform, compute_axis, angle, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_ROTATE, se->original * xform, xform, compute_axis, angle, local_coords, true); // Force orthogonal with subgizmo. if (!local_coords) { new_xform = se->original.affine_inverse() * new_xform; } se->gizmo->set_subgizmo_transform(GE.key, new_xform); } } else { - Transform3D new_xform = _compute_transform(TRANSFORM_ROTATE, se->original, se->original_local, compute_axis, angle, local_coords); + Transform3D new_xform = _compute_transform(TRANSFORM_ROTATE, se->original, se->original_local, compute_axis, angle, local_coords, sp->get_rotation_edit_mode() != Node3D::ROTATION_EDIT_MODE_BASIS); _transform_gizmo_apply(se->sp, new_xform, local_coords); } } @@ -2439,7 +2436,8 @@ void Node3DEditorViewport::_nav_look(Ref<InputEventWithModifiers> p_event, const _menu_option(VIEW_PERSPECTIVE); } - const real_t degrees_per_pixel = EditorSettings::get_singleton()->get("editors/3d/freelook/freelook_sensitivity"); + // Scale mouse sensitivity with camera FOV scale when zoomed in to make it easier to point at things. + const real_t degrees_per_pixel = real_t(EditorSettings::get_singleton()->get("editors/3d/freelook/freelook_sensitivity")) * MIN(1.0, cursor.fov_scale); const real_t radians_per_pixel = Math::deg2rad(degrees_per_pixel); const bool invert_y_axis = EditorSettings::get_singleton()->get("editors/3d/navigation/invert_y_axis"); @@ -2687,8 +2685,8 @@ void Node3DEditorViewport::_project_settings_changed() { const bool use_occlusion_culling = GLOBAL_GET("rendering/occlusion_culling/use_occlusion_culling"); viewport->set_use_occlusion_culling(use_occlusion_culling); - const float lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); - viewport->set_lod_threshold(lod_threshold); + const float mesh_lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); + viewport->set_mesh_lod_threshold(mesh_lod_threshold); } void Node3DEditorViewport::_notification(int p_what) { @@ -3390,6 +3388,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { case VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION: case VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE: case VIEW_DISPLAY_DEBUG_SSAO: + case VIEW_DISPLAY_DEBUG_SSIL: case VIEW_DISPLAY_DEBUG_PSSM_SPLITS: case VIEW_DISPLAY_DEBUG_DECAL_ATLAS: case VIEW_DISPLAY_DEBUG_SDFGI: @@ -3416,6 +3415,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION, VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE, VIEW_DISPLAY_DEBUG_SSAO, + VIEW_DISPLAY_DEBUG_SSIL, VIEW_DISPLAY_DEBUG_GI_BUFFER, VIEW_DISPLAY_DEBUG_DISABLE_LOD, VIEW_DISPLAY_DEBUG_PSSM_SPLITS, @@ -3444,6 +3444,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { Viewport::DEBUG_DRAW_VOXEL_GI_EMISSION, Viewport::DEBUG_DRAW_SCENE_LUMINANCE, Viewport::DEBUG_DRAW_SSAO, + Viewport::DEBUG_DRAW_SSIL, Viewport::DEBUG_DRAW_GI_BUFFER, Viewport::DEBUG_DRAW_DISABLE_LOD, Viewport::DEBUG_DRAW_PSSM_SPLITS, @@ -3672,8 +3673,6 @@ void Node3DEditorViewport::update_transform_gizmo_view() { subviewport_container->get_stretch_shrink(); Vector3 scale = Vector3(1, 1, 1) * gizmo_scale; - xform.basis.scale(scale); - // if the determinant is zero, we should disable the gizmo from being rendered // this prevents supplying bad values to the renderer and then having to filter it out again if (xform.basis.determinant() == 0) { @@ -3690,18 +3689,26 @@ void Node3DEditorViewport::update_transform_gizmo_view() { } for (int i = 0; i < 3; i++) { - RenderingServer::get_singleton()->instance_set_transform(move_gizmo_instance[i], xform); + Transform3D axis_angle = Transform3D(); + if (xform.basis.get_axis(i).normalized().dot(xform.basis.get_axis((i + 1) % 3).normalized()) < 1.0) { + axis_angle = axis_angle.looking_at(xform.basis.get_axis(i).normalized(), xform.basis.get_axis((i + 1) % 3).normalized()); + } + axis_angle.basis.scale(scale); + axis_angle.origin = xform.origin; + RenderingServer::get_singleton()->instance_set_transform(move_gizmo_instance[i], axis_angle); RenderingServer::get_singleton()->instance_set_visible(move_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE)); - RenderingServer::get_singleton()->instance_set_transform(move_plane_gizmo_instance[i], xform); + RenderingServer::get_singleton()->instance_set_transform(move_plane_gizmo_instance[i], axis_angle); RenderingServer::get_singleton()->instance_set_visible(move_plane_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE)); - RenderingServer::get_singleton()->instance_set_transform(rotate_gizmo_instance[i], xform); + RenderingServer::get_singleton()->instance_set_transform(rotate_gizmo_instance[i], axis_angle); RenderingServer::get_singleton()->instance_set_visible(rotate_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE)); - RenderingServer::get_singleton()->instance_set_transform(scale_gizmo_instance[i], xform); + RenderingServer::get_singleton()->instance_set_transform(scale_gizmo_instance[i], axis_angle); RenderingServer::get_singleton()->instance_set_visible(scale_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE)); - RenderingServer::get_singleton()->instance_set_transform(scale_plane_gizmo_instance[i], xform); + RenderingServer::get_singleton()->instance_set_transform(scale_plane_gizmo_instance[i], axis_angle); RenderingServer::get_singleton()->instance_set_visible(scale_plane_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE)); } // Rotation white outline + xform.orthonormalize(); + xform.basis.scale(scale); RenderingServer::get_singleton()->instance_set_transform(rotate_gizmo_instance[3], xform); RenderingServer::get_singleton()->instance_set_visible(rotate_gizmo_instance[3], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE)); } @@ -3984,6 +3991,37 @@ AABB Node3DEditorViewport::_calculate_spatial_bounds(const Node3D *p_parent, boo return bounds; } +Node *Node3DEditorViewport::_sanitize_preview_node(Node *p_node) const { + Node3D *node_3d = Object::cast_to<Node3D>(p_node); + if (node_3d == nullptr) { + Node3D *replacement_node = memnew(Node3D); + replacement_node->set_name(p_node->get_name()); + p_node->replace_by(replacement_node); + memdelete(p_node); + p_node = replacement_node; + } else { + VisualInstance3D *visual_instance = Object::cast_to<VisualInstance3D>(node_3d); + if (visual_instance == nullptr) { + Node3D *replacement_node = memnew(Node3D); + replacement_node->set_name(node_3d->get_name()); + replacement_node->set_visible(node_3d->is_visible()); + replacement_node->set_transform(node_3d->get_transform()); + replacement_node->set_rotation_edit_mode(node_3d->get_rotation_edit_mode()); + replacement_node->set_rotation_order(node_3d->get_rotation_order()); + replacement_node->set_as_top_level(node_3d->is_set_as_top_level()); + p_node->replace_by(replacement_node); + memdelete(p_node); + p_node = replacement_node; + } + } + + for (int i = 0; i < p_node->get_child_count(); i++) { + _sanitize_preview_node(p_node->get_child(i)); + } + + return p_node; +} + void Node3DEditorViewport::_create_preview(const Vector<String> &files) const { for (int i = 0; i < files.size(); i++) { String path = files[i]; @@ -4000,6 +4038,7 @@ void Node3DEditorViewport::_create_preview(const Vector<String> &files) const { if (scene.is_valid()) { Node *instance = scene->instantiate(); if (instance) { + instance = _sanitize_preview_node(instance); preview_node->add_child(instance); } } @@ -4091,7 +4130,7 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po instantiated_scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(path)); } - editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene); + editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene, true); editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_owner", editor->get_edited_scene()); editor_data->get_undo_redo().add_do_reference(instantiated_scene); editor_data->get_undo_redo().add_undo_method(parent, "remove_child", instantiated_scene); @@ -4351,6 +4390,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, Edito display_submenu->add_radio_check_item(TTR("Scene Luminance"), VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE); display_submenu->add_separator(); display_submenu->add_radio_check_item(TTR("SSAO"), VIEW_DISPLAY_DEBUG_SSAO); + display_submenu->add_radio_check_item(TTR("SSIL"), VIEW_DISPLAY_DEBUG_SSIL); display_submenu->add_separator(); display_submenu->add_radio_check_item(TTR("GI Buffer"), VIEW_DISPLAY_DEBUG_GI_BUFFER); display_submenu->add_separator(); @@ -4878,7 +4918,6 @@ void Node3DEditor::update_transform_gizmo() { gizmo_center += xf.origin; if (count == 0 && local_gizmo_coords) { gizmo_basis = xf.basis; - gizmo_basis.orthonormalize(); } count++; } @@ -4903,7 +4942,6 @@ void Node3DEditor::update_transform_gizmo() { gizmo_center += xf.origin; if (count == 0 && local_gizmo_coords) { gizmo_basis = xf.basis; - gizmo_basis.orthonormalize(); } count++; } @@ -5778,6 +5816,12 @@ void fragment() { { //move gizmo + // Inverted zxy. + Vector3 ivec = Vector3(0, 0, -1); + Vector3 nivec = Vector3(-1, -1, 0); + Vector3 ivec2 = Vector3(-1, 0, 0); + Vector3 ivec3 = Vector3(0, -1, 0); + for (int i = 0; i < 3; i++) { Color col; switch (i) { @@ -5815,16 +5859,6 @@ void fragment() { mat_hl->set_albedo(albedo); gizmo_color_hl[i] = mat_hl; - Vector3 ivec; - ivec[i] = 1; - Vector3 nivec; - nivec[(i + 1) % 3] = 1; - nivec[(i + 2) % 3] = 1; - Vector3 ivec2; - ivec2[(i + 1) % 3] = 1; - Vector3 ivec3; - ivec3[(i + 2) % 3] = 1; - //translate { Ref<SurfaceTool> surftool = memnew(SurfaceTool); diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 8d647808ba..8d42e88b53 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -125,6 +125,7 @@ class Node3DEditorViewport : public Control { VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION, VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE, VIEW_DISPLAY_DEBUG_SSAO, + VIEW_DISPLAY_DEBUG_SSIL, VIEW_DISPLAY_DEBUG_PSSM_SPLITS, VIEW_DISPLAY_DEBUG_DECAL_ATLAS, VIEW_DISPLAY_DEBUG_SDFGI, @@ -384,6 +385,9 @@ private: Vector3 _get_instance_position(const Point2 &p_pos) const; static AABB _calculate_spatial_bounds(const Node3D *p_parent, bool p_exclude_top_level_transform = true); + + Node *_sanitize_preview_node(Node *p_node) const; + void _create_preview(const Vector<String> &files) const; void _remove_preview(); bool _cyclical_dependency_exists(const String &p_target_scene_path, Node *p_desired_node); @@ -395,7 +399,7 @@ private: void _project_settings_changed(); - Transform3D _compute_transform(TransformMode p_mode, const Transform3D &p_original, const Transform3D &p_original_local, Vector3 p_motion, double p_extra, bool p_local); + Transform3D _compute_transform(TransformMode p_mode, const Transform3D &p_original, const Transform3D &p_original_local, Vector3 p_motion, double p_extra, bool p_local, bool p_orthogonal); protected: void _notification(int p_what); diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.cpp b/editor/plugins/occluder_instance_3d_editor_plugin.cpp index 1e85b19a84..2dd760275e 100644 --- a/editor/plugins/occluder_instance_3d_editor_plugin.cpp +++ b/editor/plugins/occluder_instance_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.h b/editor/plugins/occluder_instance_3d_editor_plugin.h index 161b17811c..a9aa0b74e3 100644 --- a/editor/plugins/occluder_instance_3d_editor_plugin.h +++ b/editor/plugins/occluder_instance_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/ot_features_plugin.cpp b/editor/plugins/ot_features_plugin.cpp index 7f3ebc01d5..d2daa4fa8d 100644 --- a/editor/plugins/ot_features_plugin.cpp +++ b/editor/plugins/ot_features_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/ot_features_plugin.h b/editor/plugins/ot_features_plugin.h index add491ed48..073fe53a52 100644 --- a/editor/plugins/ot_features_plugin.h +++ b/editor/plugins/ot_features_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/packed_scene_translation_parser_plugin.cpp b/editor/plugins/packed_scene_translation_parser_plugin.cpp index 53c5b8dd70..b492c27f41 100644 --- a/editor/plugins/packed_scene_translation_parser_plugin.cpp +++ b/editor/plugins/packed_scene_translation_parser_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/packed_scene_translation_parser_plugin.h b/editor/plugins/packed_scene_translation_parser_plugin.h index af0291b69c..fc19496eb6 100644 --- a/editor/plugins/packed_scene_translation_parser_plugin.h +++ b/editor/plugins/packed_scene_translation_parser_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp index 79f8ce95cd..c50673559c 100644 --- a/editor/plugins/path_2d_editor_plugin.cpp +++ b/editor/plugins/path_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.h b/editor/plugins/path_2d_editor_plugin.h index 867e0ce74f..210a5a140d 100644 --- a/editor/plugins/path_2d_editor_plugin.h +++ b/editor/plugins/path_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index e83f6481f9..c31b893498 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_3d_editor_plugin.h b/editor/plugins/path_3d_editor_plugin.h index 974234ba8f..a7da2c07e5 100644 --- a/editor/plugins/path_3d_editor_plugin.h +++ b/editor/plugins/path_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/physical_bone_3d_editor_plugin.cpp b/editor/plugins/physical_bone_3d_editor_plugin.cpp index 71955cf62c..9d69bbaa0b 100644 --- a/editor/plugins/physical_bone_3d_editor_plugin.cpp +++ b/editor/plugins/physical_bone_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/physical_bone_3d_editor_plugin.h b/editor/plugins/physical_bone_3d_editor_plugin.h index 248aad9298..d30222d7e6 100644 --- a/editor/plugins/physical_bone_3d_editor_plugin.h +++ b/editor/plugins/physical_bone_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index affcab9e7d..e272b96778 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/polygon_2d_editor_plugin.h b/editor/plugins/polygon_2d_editor_plugin.h index cbe7ecf360..a04179dcad 100644 --- a/editor/plugins/polygon_2d_editor_plugin.h +++ b/editor/plugins/polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index 30b7a26aab..d5287bc2fb 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/resource_preloader_editor_plugin.h b/editor/plugins/resource_preloader_editor_plugin.h index 943765d4e0..838d72df41 100644 --- a/editor/plugins/resource_preloader_editor_plugin.h +++ b/editor/plugins/resource_preloader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp index d1830bf5af..34b39d2a17 100644 --- a/editor/plugins/root_motion_editor_plugin.cpp +++ b/editor/plugins/root_motion_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/root_motion_editor_plugin.h b/editor/plugins/root_motion_editor_plugin.h index c05975b6c3..c2866f269b 100644 --- a/editor/plugins/root_motion_editor_plugin.h +++ b/editor/plugins/root_motion_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index caaac2c7d3..03ed0e0ef2 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 0adeca031e..ca409e15ca 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index d5af7c5b38..97a882c383 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -238,10 +238,6 @@ void ScriptTextEditor::_show_warnings_panel(bool p_show) { void ScriptTextEditor::_warning_clicked(Variant p_line) { if (p_line.get_type() == Variant::INT) { goto_line_centered(p_line.operator int64_t()); - } else if (p_line.get_type() == Variant::DICTIONARY) { - Dictionary meta = p_line.operator Dictionary(); - code_editor->get_text_editor()->insert_line_at(meta["line"].operator int64_t() - 1, "# warning-ignore:" + meta["code"].operator String()); - _validate_script(); } } @@ -468,20 +464,8 @@ void ScriptTextEditor::_validate_script() { } // Add script warnings. - warnings_panel->push_table(3); + warnings_panel->push_table(2); for (const ScriptLanguage::Warning &w : warnings) { - Dictionary ignore_meta; - ignore_meta["line"] = w.start_line; - ignore_meta["code"] = w.string_code.to_lower(); - warnings_panel->push_cell(); - warnings_panel->push_meta(ignore_meta); - warnings_panel->push_color( - warnings_panel->get_theme_color(SNAME("accent_color"), SNAME("Editor")).lerp(warnings_panel->get_theme_color(SNAME("mono_color"), SNAME("Editor")), 0.5)); - warnings_panel->add_text(TTR("[Ignore]")); - warnings_panel->pop(); // Color. - warnings_panel->pop(); // Meta ignore. - warnings_panel->pop(); // Cell. - warnings_panel->push_cell(); warnings_panel->push_meta(w.start_line - 1); warnings_panel->push_color(warnings_panel->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index afe9a7453d..6e67444489 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index d5ee52dfab..e8bbeb0834 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -293,15 +293,20 @@ void ShaderTextEditor::_update_warning_panel() { } warning_count++; + int line = w.get_line(); // First cell. warnings_panel->push_cell(); - warnings_panel->push_meta(w.get_line() - 1); warnings_panel->push_color(warnings_panel->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); - warnings_panel->add_text(TTR("Line") + " " + itos(w.get_line())); - warnings_panel->add_text(" (" + w.get_name() + "):"); + if (line != -1) { + warnings_panel->push_meta(line - 1); + warnings_panel->add_text(TTR("Line") + " " + itos(line)); + warnings_panel->add_text(" (" + w.get_name() + "):"); + warnings_panel->pop(); // Meta goto. + } else { + warnings_panel->add_text(w.get_name() + ":"); + } warnings_panel->pop(); // Color. - warnings_panel->pop(); // Meta goto. warnings_panel->pop(); // Cell. // Second cell. diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h index 77579754d3..cc90d381a5 100644 --- a/editor/plugins/shader_editor_plugin.h +++ b/editor/plugins/shader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_file_editor_plugin.cpp b/editor/plugins/shader_file_editor_plugin.cpp index 517de1901f..8250164885 100644 --- a/editor/plugins/shader_file_editor_plugin.cpp +++ b/editor/plugins/shader_file_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_file_editor_plugin.h b/editor/plugins/shader_file_editor_plugin.h index 7d6e503b6c..feec0c206e 100644 --- a/editor/plugins/shader_file_editor_plugin.h +++ b/editor/plugins/shader_file_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_2d_editor_plugin.cpp b/editor/plugins/skeleton_2d_editor_plugin.cpp index 510e264c48..b6d465ea81 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.cpp +++ b/editor/plugins/skeleton_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_2d_editor_plugin.h b/editor/plugins/skeleton_2d_editor_plugin.h index 066888f685..2fa7f02622 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.h +++ b/editor/plugins/skeleton_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index bb5ef0f6eb..e1b27cb045 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1110,7 +1110,7 @@ void fragment() { )"); selected_mat->set_shader(selected_sh); - // Regist properties in editor settings. + // Register properties in editor settings. EDITOR_DEF("editors/3d_gizmos/gizmo_colors/skeleton", Color(1, 0.8, 0.4)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/selected_bone", Color(0.8, 0.3, 0.0)); EDITOR_DEF("editors/3d_gizmos/gizmo_settings/bone_axis_length", (float)0.1); diff --git a/editor/plugins/skeleton_3d_editor_plugin.h b/editor/plugins/skeleton_3d_editor_plugin.h index 1dd2d2281d..d0d81d6498 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.h +++ b/editor/plugins/skeleton_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_ik_3d_editor_plugin.cpp b/editor/plugins/skeleton_ik_3d_editor_plugin.cpp index 85632cf481..ca8786a385 100644 --- a/editor/plugins/skeleton_ik_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_ik_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_ik_3d_editor_plugin.h b/editor/plugins/skeleton_ik_3d_editor_plugin.h index b0d2138115..edc3f6dda4 100644 --- a/editor/plugins/skeleton_ik_3d_editor_plugin.h +++ b/editor/plugins/skeleton_ik_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp index 48b10d5a8b..1eac651ed6 100644 --- a/editor/plugins/sprite_2d_editor_plugin.cpp +++ b/editor/plugins/sprite_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sprite_2d_editor_plugin.h b/editor/plugins/sprite_2d_editor_plugin.h index d4a1ef4312..c93ad1610f 100644 --- a/editor/plugins/sprite_2d_editor_plugin.h +++ b/editor/plugins/sprite_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 316ef7b195..2da4f80751 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1232,7 +1232,7 @@ SpriteFramesEditor::SpriteFramesEditor() { split_sheet_vb->add_child(split_sheet_panel); split_sheet_preview = memnew(TextureRect); - split_sheet_preview->set_expand(true); + split_sheet_preview->set_ignore_texture_size(true); split_sheet_preview->set_mouse_filter(MOUSE_FILTER_PASS); split_sheet_preview->connect("draw", callable_mp(this, &SpriteFramesEditor::_sheet_preview_draw)); split_sheet_preview->connect("gui_input", callable_mp(this, &SpriteFramesEditor::_sheet_preview_input)); diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index 9732384000..8767e05a94 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index 1c7f319280..5d38352b22 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/style_box_editor_plugin.h b/editor/plugins/style_box_editor_plugin.h index d82e5ab05e..898628fd7f 100644 --- a/editor/plugins/style_box_editor_plugin.h +++ b/editor/plugins/style_box_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sub_viewport_preview_editor_plugin.cpp b/editor/plugins/sub_viewport_preview_editor_plugin.cpp index 75c47bda2e..4498a1d64d 100644 --- a/editor/plugins/sub_viewport_preview_editor_plugin.cpp +++ b/editor/plugins/sub_viewport_preview_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sub_viewport_preview_editor_plugin.h b/editor/plugins/sub_viewport_preview_editor_plugin.h index 03b8b678d1..7016910ebd 100644 --- a/editor/plugins/sub_viewport_preview_editor_plugin.h +++ b/editor/plugins/sub_viewport_preview_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/text_control_editor_plugin.cpp b/editor/plugins/text_control_editor_plugin.cpp index c878c83430..a51b5d3e03 100644 --- a/editor/plugins/text_control_editor_plugin.cpp +++ b/editor/plugins/text_control_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -53,6 +53,10 @@ void TextControlEditor::_notification(int p_notification) { } } +void TextControlEditor::_bind_methods() { + ClassDB::bind_method(D_METHOD("_update_control"), &TextControlEditor::_update_control); +} + void TextControlEditor::_find_resources(EditorFileSystemDirectory *p_dir) { for (int i = 0; i < p_dir->get_subdir_count(); i++) { _find_resources(p_dir->get_subdir(i)); @@ -179,8 +183,13 @@ void TextControlEditor::_update_control() { } // Get other theme overrides. + font_size_list->set_block_signals(true); font_size_list->set_value(edited_control->get_theme_font_size(edited_font_size)); + font_size_list->set_block_signals(false); + + outline_size_list->set_block_signals(true); outline_size_list->set_value(edited_control->get_theme_constant("outline_size")); + outline_size_list->set_block_signals(false); font_color_picker->set_pick_color(edited_control->get_theme_color(edited_color)); outline_color_picker->set_pick_color(edited_control->get_theme_color("font_outline_color")); @@ -188,7 +197,6 @@ void TextControlEditor::_update_control() { } void TextControlEditor::_font_selected(int p_id) { - _update_styles_menu(); _set_font(); } @@ -197,70 +205,177 @@ void TextControlEditor::_font_style_selected(int p_id) { } void TextControlEditor::_set_font() { - if (edited_control) { - if (font_list->get_selected_id() == FONT_INFO_THEME_DEFAULT) { - // Remove font override. - edited_control->remove_theme_font_override(edited_font); - return; - } else if (font_list->get_selected_id() == FONT_INFO_USER_CUSTOM) { - // Restore "custom_font". - edited_control->add_theme_font_override(edited_font, custom_font); - return; - } else { - // Load new font resource using selected name and style. - String name = font_list->get_item_text(font_list->get_selected()); - String sty = font_style_list->get_item_text(font_style_list->get_selected()); - if (sty.is_empty()) { - sty = "Default"; - } - if (fonts.has(name)) { - Ref<FontData> fd = ResourceLoader::load(fonts[name][sty]); - if (fd.is_valid()) { - Ref<Font> f; - f.instantiate(); - f->add_data(fd); - edited_control->add_theme_font_override(edited_font, f); - } + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font")); + + if (font_list->get_selected_id() == FONT_INFO_THEME_DEFAULT) { + // Remove font override. + ur->add_do_method(edited_control, "remove_theme_font_override", edited_font); + } else if (font_list->get_selected_id() == FONT_INFO_USER_CUSTOM) { + // Restore "custom_font". + ur->add_do_method(edited_control, "add_theme_font_override", edited_font, custom_font); + } else { + // Load new font resource using selected name and style. + String name = font_list->get_item_text(font_list->get_selected()); + String style = font_style_list->get_item_text(font_style_list->get_selected()); + if (style.is_empty()) { + style = "Default"; + } + + if (fonts.has(name)) { + Ref<FontData> fd = ResourceLoader::load(fonts[name][style]); + if (fd.is_valid()) { + Ref<Font> font; + font.instantiate(); + font->add_data(fd); + ur->add_do_method(edited_control, "add_theme_font_override", edited_font, font); } } } + + if (edited_control->has_theme_font_override(edited_font)) { + ur->add_undo_method(edited_control, "add_theme_font_override", edited_font, edited_control->get_theme_font(edited_font)); + } else { + ur->add_undo_method(edited_control, "remove_theme_font_override", edited_font); + } + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::_font_size_selected(double p_size) { - if (edited_control) { - edited_control->add_theme_font_size_override(edited_font_size, p_size); + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Size")); + + ur->add_do_method(edited_control, "add_theme_font_size_override", edited_font_size, p_size); + if (edited_control->has_theme_font_size_override(edited_font_size)) { + ur->add_undo_method(edited_control, "add_theme_font_size_override", edited_font_size, edited_control->get_theme_font_size(edited_font_size)); + } else { + ur->add_undo_method(edited_control, "remove_theme_font_size_override", edited_font_size); } + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::_outline_size_selected(double p_size) { - if (edited_control) { - edited_control->add_theme_constant_override("outline_size", p_size); + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Outline Size")); + + ur->add_do_method(edited_control, "add_theme_constant_override", "outline_size", p_size); + if (edited_control->has_theme_constant_override("outline_size")) { + ur->add_undo_method(edited_control, "add_theme_constant_override", "outline_size", edited_control->get_theme_constant("outline_size")); + } else { + ur->add_undo_method(edited_control, "remove_theme_constant_override", "outline_size"); } + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::_font_color_changed(const Color &p_color) { - if (edited_control) { - edited_control->add_theme_color_override(edited_color, p_color); + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Color"), UndoRedo::MERGE_ENDS); + + ur->add_do_method(edited_control, "add_theme_color_override", edited_color, p_color); + if (edited_control->has_theme_color_override(edited_color)) { + ur->add_undo_method(edited_control, "add_theme_color_override", edited_color, edited_control->get_theme_color(edited_color)); + } else { + ur->add_undo_method(edited_control, "remove_theme_color_override", edited_color); } + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::_outline_color_changed(const Color &p_color) { - if (edited_control) { - edited_control->add_theme_color_override("font_outline_color", p_color); + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Outline Color"), UndoRedo::MERGE_ENDS); + + ur->add_do_method(edited_control, "add_theme_color_override", "font_outline_color", p_color); + if (edited_control->has_theme_color_override("font_outline_color")) { + ur->add_undo_method(edited_control, "add_theme_color_override", "font_outline_color", edited_control->get_theme_color("font_outline_color")); + } else { + ur->add_undo_method(edited_control, "remove_theme_color_override", "font_outline_color"); } + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::_clear_formatting() { - if (edited_control) { - edited_control->begin_bulk_theme_override(); - edited_control->remove_theme_font_override(edited_font); - edited_control->remove_theme_font_size_override(edited_font_size); - edited_control->remove_theme_color_override(edited_color); - edited_control->remove_theme_color_override("font_outline_color"); - edited_control->remove_theme_constant_override("outline_size"); - edited_control->end_bulk_theme_override(); - _update_control(); + if (!edited_control) { + return; + } + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Clear Control Formatting")); + + ur->add_do_method(edited_control, "begin_bulk_theme_override"); + ur->add_undo_method(edited_control, "begin_bulk_theme_override"); + + ur->add_do_method(edited_control, "remove_theme_font_override", edited_font); + if (edited_control->has_theme_font_override(edited_font)) { + ur->add_undo_method(edited_control, "add_theme_font_override", edited_font, edited_control->get_theme_font(edited_font)); + } + + ur->add_do_method(edited_control, "remove_theme_font_size_override", edited_font_size); + if (edited_control->has_theme_font_size_override(edited_font_size)) { + ur->add_undo_method(edited_control, "add_theme_font_size_override", edited_font_size, edited_control->get_theme_font_size(edited_font_size)); + } + + ur->add_do_method(edited_control, "remove_theme_color_override", edited_color); + if (edited_control->has_theme_color_override(edited_color)) { + ur->add_undo_method(edited_control, "add_theme_color_override", edited_color, edited_control->get_theme_color(edited_color)); + } + + ur->add_do_method(edited_control, "remove_theme_color_override", "font_outline_color"); + if (edited_control->has_theme_color_override("font_outline_color")) { + ur->add_undo_method(edited_control, "add_theme_color_override", "font_outline_color", edited_control->get_theme_color("font_outline_color")); + } + + ur->add_do_method(edited_control, "remove_theme_constant_override", "outline_size"); + if (edited_control->has_theme_constant_override("outline_size")) { + ur->add_undo_method(edited_control, "add_theme_constant_override", "outline_size", edited_control->get_theme_constant("outline_size")); } + + ur->add_do_method(edited_control, "end_bulk_theme_override"); + ur->add_undo_method(edited_control, "end_bulk_theme_override"); + + ur->add_do_method(this, "_update_control"); + ur->add_undo_method(this, "_update_control"); + + ur->commit_action(); } void TextControlEditor::edit(Object *p_object) { diff --git a/editor/plugins/text_control_editor_plugin.h b/editor/plugins/text_control_editor_plugin.h index 7f4aa3754c..d284a30f16 100644 --- a/editor/plugins/text_control_editor_plugin.h +++ b/editor/plugins/text_control_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -70,7 +70,7 @@ class TextControlEditor : public HBoxContainer { protected: void _notification(int p_notification); - static void _bind_methods(){}; + static void _bind_methods(); void _find_resources(EditorFileSystemDirectory *p_dir); void _reload_fonts(const String &p_path); diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp index cbde382d67..12d13571f8 100644 --- a/editor/plugins/text_editor.cpp +++ b/editor/plugins/text_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h index 7404557f46..d3fb0c0a16 100644 --- a/editor/plugins/text_editor.h +++ b/editor/plugins/text_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_3d_editor_plugin.cpp b/editor/plugins/texture_3d_editor_plugin.cpp index b4e394a1c0..6080f9df87 100644 --- a/editor/plugins/texture_3d_editor_plugin.cpp +++ b/editor/plugins/texture_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_3d_editor_plugin.h b/editor/plugins/texture_3d_editor_plugin.h index 855194e644..5a200f6c11 100644 --- a/editor/plugins/texture_3d_editor_plugin.h +++ b/editor/plugins/texture_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_editor_plugin.cpp b/editor/plugins/texture_editor_plugin.cpp index e25b0270b4..84b33f0986 100644 --- a/editor/plugins/texture_editor_plugin.cpp +++ b/editor/plugins/texture_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -84,7 +84,7 @@ TexturePreview::TexturePreview(Ref<Texture2D> p_texture, bool p_show_metadata) { texture_display->set_texture(p_texture); texture_display->set_anchors_preset(TextureRect::PRESET_WIDE); texture_display->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED); - texture_display->set_expand(true); + texture_display->set_ignore_texture_size(true); add_child(texture_display); if (p_show_metadata) { diff --git a/editor/plugins/texture_editor_plugin.h b/editor/plugins/texture_editor_plugin.h index 60349febd7..5ba077d6fc 100644 --- a/editor/plugins/texture_editor_plugin.h +++ b/editor/plugins/texture_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_layered_editor_plugin.cpp b/editor/plugins/texture_layered_editor_plugin.cpp index 1f536d13cf..a8c37d37fe 100644 --- a/editor/plugins/texture_layered_editor_plugin.cpp +++ b/editor/plugins/texture_layered_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_layered_editor_plugin.h b/editor/plugins/texture_layered_editor_plugin.h index a7fe4b94e9..cd8eba1bfe 100644 --- a/editor/plugins/texture_layered_editor_plugin.h +++ b/editor/plugins/texture_layered_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 8e1c81a876..c03e55be69 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h index c043d6ae33..23981ddb81 100644 --- a/editor/plugins/texture_region_editor_plugin.h +++ b/editor/plugins/texture_region_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index b5d2b571f5..91c17399c2 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -754,8 +754,9 @@ void ThemeItemImportTree::_import_selected() { return; } - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + ProgressDialog::get_singleton()->add_task("import_theme_items", TTR("Importing Theme Items"), selected_items.size() + 2); int idx = 0; @@ -808,7 +809,7 @@ void ThemeItemImportTree::_import_selected() { } } - edited_theme->set_theme_item(ti.data_type, ti.item_name, ti.type_name, item_value); + new_snapshot->set_theme_item(ti.data_type, ti.item_name, ti.type_name, item_value); } idx++; @@ -816,12 +817,24 @@ void ThemeItemImportTree::_import_selected() { // Allow changes to be reported now that the operation is finished. ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Updating the editor"), idx++); - edited_theme->_unfreeze_and_propagate_changes(); + // Make sure the task is not ended before the editor freezes to update the Inspector. ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Finalizing"), idx++); ProgressDialog::get_singleton()->end_task("import_theme_items"); - emit_signal(SNAME("items_imported")); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Import Theme Items")); + + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "clear"); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "emit_signal", SNAME("items_imported")); + ur->add_undo_method(this, "emit_signal", SNAME("items_imported")); + + ur->commit_action(); } void ThemeItemImportTree::set_edited_theme(const Ref<Theme> &p_theme) { @@ -1296,6 +1309,7 @@ void ThemeItemEditorDialog::_update_edit_types() { edit_items_message->set_text(TTR("Select a theme type from the list to edit its items.\nYou can add a custom type or import a type with its items from another theme.")); edit_items_message->show(); } + _update_edit_item_tree(selected_type); } @@ -1475,19 +1489,25 @@ void ThemeItemEditorDialog::_item_tree_button_pressed(Object *p_item, int p_colu String item_name = item->get_text(0); int data_type = item->get_parent()->get_metadata(0); _open_rename_theme_item_dialog((Theme::DataType)data_type, item_name); + _update_edit_item_tree(edited_item_type); } break; case ITEMS_TREE_REMOVE_ITEM: { String item_name = item->get_text(0); int data_type = item->get_parent()->get_metadata(0); - edited_theme->clear_theme_item((Theme::DataType)data_type, item_name, edited_item_type); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Theme Item")); + ur->add_do_method(*edited_theme, "clear_theme_item", (Theme::DataType)data_type, item_name, edited_item_type); + ur->add_undo_method(*edited_theme, "set_theme_item", (Theme::DataType)data_type, item_name, edited_item_type, edited_theme->get_theme_item((Theme::DataType)data_type, item_name, edited_item_type)); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + ur->commit_action(); } break; case ITEMS_TREE_REMOVE_DATA_TYPE: { int data_type = item->get_metadata(0); _remove_data_type_items((Theme::DataType)data_type, edited_item_type); } break; } - - _update_edit_item_tree(edited_item_type); } void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) { @@ -1500,57 +1520,91 @@ void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) { edited_theme->add_font_size_type(new_type); edited_theme->add_color_type(new_type); edited_theme->add_constant_type(new_type); + _update_edit_types(); - // Force emit a change so that other parts of the editor can update. edited_theme->emit_changed(); } void ThemeItemEditorDialog::_add_theme_item(Theme::DataType p_data_type, String p_item_name, String p_item_type) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Create Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_ICON: - edited_theme->set_icon(p_item_name, p_item_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", p_item_name, p_item_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", p_item_name, p_item_type); break; case Theme::DATA_TYPE_STYLEBOX: - edited_theme->set_stylebox(p_item_name, p_item_type, Ref<StyleBox>()); + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, p_item_type, Ref<StyleBox>()); + ur->add_undo_method(*edited_theme, "clear_stylebox", p_item_name, p_item_type); + + if (theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(p_item_name, p_item_type))) { + ur->add_undo_method(theme_type_editor, "_unpin_leading_stylebox"); + } break; case Theme::DATA_TYPE_FONT: - edited_theme->set_font(p_item_name, p_item_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", p_item_name, p_item_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", p_item_name, p_item_type); break; case Theme::DATA_TYPE_FONT_SIZE: - edited_theme->set_font_size(p_item_name, p_item_type, -1); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, p_item_type, -1); + ur->add_undo_method(*edited_theme, "clear_font_size", p_item_name, p_item_type); break; case Theme::DATA_TYPE_COLOR: - edited_theme->set_color(p_item_name, p_item_type, Color()); + ur->add_do_method(*edited_theme, "set_color", p_item_name, p_item_type, Color()); + ur->add_undo_method(*edited_theme, "clear_color", p_item_name, p_item_type); break; case Theme::DATA_TYPE_CONSTANT: - edited_theme->set_constant(p_item_name, p_item_type, 0); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, p_item_type, 0); + ur->add_undo_method(*edited_theme, "clear_constant", p_item_name, p_item_type); break; case Theme::DATA_TYPE_MAX: break; // Can't happen, but silences warning. } + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + ur->commit_action(); } void ThemeItemEditorDialog::_remove_data_type_items(Theme::DataType p_data_type, String p_item_type) { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Data Type Items From Theme")); - edited_theme->get_theme_item_list(p_data_type, p_item_type, &names); + new_snapshot->get_theme_item_list(p_data_type, p_item_type, &names); for (const StringName &E : names) { - edited_theme->clear_theme_item(p_data_type, E, p_item_type); + new_snapshot->clear_theme_item(p_data_type, E, edited_item_type); + + if (p_data_type == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, p_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, p_item_type)); + } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(theme_type_editor, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(theme_type_editor, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_remove_class_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Class Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; @@ -1558,62 +1612,95 @@ void ThemeItemEditorDialog::_remove_class_items() { names.clear(); Theme::get_default()->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { - if (edited_theme->has_theme_item_nocheck(data_type, E, edited_item_type)) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + if (new_snapshot->has_theme_item_nocheck(data_type, E, edited_item_type)) { + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); - _update_edit_item_tree(edited_item_type); + ur->commit_action(); } void ThemeItemEditorDialog::_remove_custom_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Custom Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; names.clear(); - edited_theme->get_theme_item_list(data_type, edited_item_type, &names); + new_snapshot->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { if (!Theme::get_default()->has_theme_item_nocheck(data_type, E, edited_item_type)) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); - _update_edit_item_tree(edited_item_type); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_remove_all_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove All Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; names.clear(); - edited_theme->get_theme_item_list(data_type, edited_item_type, &names); + new_snapshot->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); - _update_edit_item_tree(edited_item_type); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_open_add_theme_item_dialog(int p_data_type) { @@ -1692,14 +1779,21 @@ void ThemeItemEditorDialog::_confirm_edit_theme_item() { if (item_popup_mode == CREATE_THEME_ITEM) { _add_theme_item(edit_item_data_type, theme_item_name->get_text(), edited_item_type); } else if (item_popup_mode == RENAME_THEME_ITEM) { - edited_theme->rename_theme_item(edit_item_data_type, edit_item_old_name, theme_item_name->get_text(), edited_item_type); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Rename Theme Item")); + + ur->add_do_method(*edited_theme, "rename_theme_item", edit_item_data_type, edit_item_old_name, theme_item_name->get_text(), edited_item_type); + ur->add_undo_method(*edited_theme, "rename_theme_item", edit_item_data_type, theme_item_name->get_text(), edit_item_old_name, edited_item_type); + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } item_popup_mode = ITEM_POPUP_MODE_MAX; edit_item_data_type = Theme::DATA_TYPE_MAX; edit_item_old_name = ""; - - _update_edit_item_tree(edited_item_type); } void ThemeItemEditorDialog::_edit_theme_item_gui_input(const Ref<InputEvent> &p_event) { @@ -1773,15 +1867,22 @@ void ThemeItemEditorDialog::_notification(int p_what) { } } +void ThemeItemEditorDialog::_bind_methods() { + ClassDB::bind_method(D_METHOD("_update_edit_types"), &ThemeItemEditorDialog::_update_edit_types); + ClassDB::bind_method(D_METHOD("_update_edit_item_tree"), &ThemeItemEditorDialog::_update_edit_item_tree); +} + void ThemeItemEditorDialog::set_edited_theme(const Ref<Theme> &p_theme) { edited_theme = p_theme; } -ThemeItemEditorDialog::ThemeItemEditorDialog() { +ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_editor) { set_title(TTR("Manage Theme Items")); get_ok_button()->set_text(TTR("Close")); set_hide_on_ok(false); // Closing may require a confirmation in some cases. + theme_type_editor = p_theme_type_editor; + tc = memnew(TabContainer); tc->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); add_child(tc); @@ -2540,11 +2641,11 @@ void ThemeTypeEditor::_update_type_items() { pin_leader_button->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"))); pin_leader_button->set_tooltip(TTR("Unpin this StyleBox as a main style.")); item_control->add_child(pin_leader_button); - pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_unpin_leading_stylebox)); + pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_unpin_leader_button_pressed)); item_control->add_child(item_editor); - if (leading_stylebox.stylebox.is_valid()) { + if (edited_theme->has_stylebox(leading_stylebox.item_name, edited_type)) { item_editor->set_edited_resource(leading_stylebox.stylebox); } else { item_editor->set_edited_resource(RES()); @@ -2569,10 +2670,8 @@ void ThemeTypeEditor::_update_type_items() { item_editor->set_base_type("StyleBox"); if (E.get()) { - Ref<StyleBox> stylebox_value; if (edited_theme->has_stylebox(E.key(), edited_type)) { - stylebox_value = edited_theme->get_stylebox(E.key(), edited_type); - item_editor->set_edited_resource(stylebox_value); + item_editor->set_edited_resource(edited_theme->get_stylebox(E.key(), edited_type)); } else { item_editor->set_edited_resource(RES()); } @@ -2585,7 +2684,7 @@ void ThemeTypeEditor::_update_type_items() { pin_leader_button->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"))); pin_leader_button->set_tooltip(TTR("Pin this StyleBox as a main style. Editing its properties will update the same properties in all other StyleBoxes of this type.")); item_control->add_child(pin_leader_button); - pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_pin_leading_stylebox), varray(item_editor, E.key())); + pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_pin_leader_button_pressed), varray(item_editor, E.key())); } else { if (Theme::get_default()->has_stylebox(E.key(), edited_type)) { item_editor->set_edited_resource(Theme::get_default()->get_stylebox(E.key(), edited_type)); @@ -2636,16 +2735,17 @@ void ThemeTypeEditor::_add_default_type_items() { default_type = edited_theme->get_type_variation_base(edited_type); } + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + updating = true; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); { names.clear(); Theme::get_default()->get_icon_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_icon(E, edited_type)) { - edited_theme->set_icon(E, edited_type, Ref<Texture2D>()); + if (!new_snapshot->has_icon(E, edited_type)) { + new_snapshot->set_icon(E, edited_type, Theme::get_default()->get_icon(E, edited_type)); } } } @@ -2653,8 +2753,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_stylebox_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_stylebox(E, edited_type)) { - edited_theme->set_stylebox(E, edited_type, Ref<StyleBox>()); + if (!new_snapshot->has_stylebox(E, edited_type)) { + new_snapshot->set_stylebox(E, edited_type, Theme::get_default()->get_stylebox(E, edited_type)); } } } @@ -2662,8 +2762,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_font_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_font(E, edited_type)) { - edited_theme->set_font(E, edited_type, Ref<Font>()); + if (!new_snapshot->has_font(E, edited_type)) { + new_snapshot->set_font(E, edited_type, Theme::get_default()->get_font(E, edited_type)); } } } @@ -2671,8 +2771,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_font_size_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_font_size(E, edited_type)) { - edited_theme->set_font_size(E, edited_type, Theme::get_default()->get_font_size(E, default_type)); + if (!new_snapshot->has_font_size(E, edited_type)) { + new_snapshot->set_font_size(E, edited_type, Theme::get_default()->get_font_size(E, edited_type)); } } } @@ -2680,8 +2780,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_color_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_color(E, edited_type)) { - edited_theme->set_color(E, edited_type, Theme::get_default()->get_color(E, default_type)); + if (!new_snapshot->has_color(E, edited_type)) { + new_snapshot->set_color(E, edited_type, Theme::get_default()->get_color(E, edited_type)); } } } @@ -2689,17 +2789,25 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_constant_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_constant(E, edited_type)) { - edited_theme->set_constant(E, edited_type, Theme::get_default()->get_constant(E, default_type)); + if (!new_snapshot->has_constant(E, edited_type)) { + new_snapshot->set_constant(E, edited_type, Theme::get_default()->get_constant(E, edited_type)); } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); updating = false; - _update_type_items(); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Override All Default Theme Items")); + + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "clear"); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "_update_type_items"); + ur->add_undo_method(this, "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_item_add_cbk(int p_data_type, Control *p_control) { @@ -2709,27 +2817,43 @@ void ThemeTypeEditor::_item_add_cbk(int p_data_type, Control *p_control) { } String item_name = le->get_text().strip_edges(); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Add Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->set_color(item_name, edited_type, Color()); + ur->add_do_method(*edited_theme, "set_color", item_name, edited_type, Color()); + ur->add_undo_method(*edited_theme, "clear_color", item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->set_constant(item_name, edited_type, 0); + ur->add_do_method(*edited_theme, "set_constant", item_name, edited_type, 0); + ur->add_undo_method(*edited_theme, "clear_constant", item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->set_font(item_name, edited_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", item_name, edited_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->set_font_size(item_name, edited_type, -1); + ur->add_do_method(*edited_theme, "set_font_size", item_name, edited_type, -1); + ur->add_undo_method(*edited_theme, "clear_font_size", item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->set_icon(item_name, edited_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", item_name, edited_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->set_stylebox(item_name, edited_type, Ref<StyleBox>()); + Ref<StyleBox> sb; + ur->add_do_method(*edited_theme, "set_stylebox", item_name, edited_type, sb); + ur->add_undo_method(*edited_theme, "clear_stylebox", item_name, edited_type); + + if (is_stylebox_pinned(sb)) { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } } break; } + ur->commit_action(); + le->set_text(""); } @@ -2738,53 +2862,94 @@ void ThemeTypeEditor::_item_add_lineedit_cbk(String p_value, int p_data_type, Co } void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Override Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->set_color(p_item_name, edited_type, Theme::get_default()->get_color(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_color", p_item_name, edited_type, Theme::get_default()->get_color(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_color", p_item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->set_constant(p_item_name, edited_type, Theme::get_default()->get_constant(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, edited_type, Theme::get_default()->get_constant(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_constant", p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->set_font(p_item_name, edited_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->set_font_size(p_item_name, edited_type, Theme::get_default()->get_font_size(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, edited_type, Theme::get_default()->get_font_size(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_font_size", p_item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->set_icon(p_item_name, edited_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", p_item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->set_stylebox(p_item_name, edited_type, Ref<StyleBox>()); + Ref<StyleBox> sb; + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, edited_type, sb); + ur->add_undo_method(*edited_theme, "clear_stylebox", p_item_name, edited_type); + + if (is_stylebox_pinned(sb)) { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_remove_cbk(int p_data_type, String p_item_name) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->clear_color(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_color", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_color", p_item_name, edited_type, edited_theme->get_color(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->clear_constant(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_constant", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_constant", p_item_name, edited_type, edited_theme->get_constant(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->clear_font(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_font", p_item_name, edited_type); + if (edited_theme->has_font(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, edited_theme->get_font(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + } } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->clear_font_size(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_font_size", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->clear_icon(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_icon", p_item_name, edited_type); + if (edited_theme->has_icon(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, edited_theme->get_icon(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + } } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->clear_stylebox(p_item_name, edited_type); + Ref<StyleBox> sb = edited_theme->get_stylebox(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_stylebox", p_item_name, edited_type); + if (edited_theme->has_stylebox(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, sb); + } else { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, Ref<StyleBox>()); + } - if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { - _unpin_leading_stylebox(); + if (is_stylebox_pinned(sb)) { + ur->add_do_method(this, "_unpin_leading_stylebox"); + ur->add_undo_method(this, "_pin_leading_stylebox", p_item_name, sb); } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_rename_cbk(int p_data_type, String p_item_name, Control *p_control) { @@ -2814,30 +2979,41 @@ void ThemeTypeEditor::_item_rename_confirmed(int p_data_type, String p_item_name return; } + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Rename Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->rename_color(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_color", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_color", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->rename_constant(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_constant", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_constant", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->rename_font(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_font", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_font", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->rename_font_size(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_font_size", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_font_size", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->rename_icon(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_icon", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_icon", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->rename_stylebox(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_stylebox", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_stylebox", new_name, p_item_name, edited_type); if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { leading_stylebox.item_name = new_name; } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_rename_entered(String p_value, int p_data_type, String p_item_name, Control *p_control) { @@ -2859,15 +3035,27 @@ void ThemeTypeEditor::_item_rename_canceled(int p_data_type, String p_item_name, } void ThemeTypeEditor::_color_item_changed(Color p_value, String p_item_name) { - edited_theme->set_color(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Color Item in Theme"), UndoRedo::MERGE_ENDS); + ur->add_do_method(*edited_theme, "set_color", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_color", p_item_name, edited_type, edited_theme->get_color(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_constant_item_changed(float p_value, String p_item_name) { - edited_theme->set_constant(p_item_name, edited_type, int(p_value)); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Constant Item in Theme")); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_constant", p_item_name, edited_type, edited_theme->get_constant(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_font_size_item_changed(float p_value, String p_item_name) { - edited_theme->set_font_size(p_item_name, edited_type, int(p_value)); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Size Item in Theme")); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_edit_resource_item(RES p_resource, bool p_edit) { @@ -2875,53 +3063,123 @@ void ThemeTypeEditor::_edit_resource_item(RES p_resource, bool p_edit) { } void ThemeTypeEditor::_font_item_changed(Ref<Font> p_value, String p_item_name) { - edited_theme->set_font(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Item in Theme")); + + ur->add_do_method(*edited_theme, "set_font", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Font>()); + if (edited_theme->has_font(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, edited_theme->get_font(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + } + + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_icon_item_changed(Ref<Texture2D> p_value, String p_item_name) { - edited_theme->set_icon(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Icon Item in Theme")); + + ur->add_do_method(*edited_theme, "set_icon", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Texture2D>()); + if (edited_theme->has_icon(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, edited_theme->get_icon(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + } + + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_stylebox_item_changed(Ref<StyleBox> p_value, String p_item_name) { - edited_theme->set_stylebox(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Stylebox Item in Theme")); + + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<StyleBox>()); + if (edited_theme->has_stylebox(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, edited_theme->get_stylebox(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, Ref<StyleBox>()); + } + + ur->add_do_method(this, "_change_pinned_stylebox"); + ur->add_undo_method(this, "_change_pinned_stylebox"); + + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); +} - if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { +void ThemeTypeEditor::_change_pinned_stylebox() { + if (leading_stylebox.pinned) { if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } - leading_stylebox.stylebox = p_value; - leading_stylebox.ref_stylebox = (p_value.is_valid() ? p_value->duplicate() : RES()); - if (p_value.is_valid()) { - leading_stylebox.stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); - } - } -} + Ref<StyleBox> new_stylebox = edited_theme->get_stylebox(leading_stylebox.item_name, edited_type); + leading_stylebox.stylebox = new_stylebox; + leading_stylebox.ref_stylebox = (new_stylebox.is_valid() ? new_stylebox->duplicate() : RES()); -void ThemeTypeEditor::_pin_leading_stylebox(Control *p_editor, String p_item_name) { - if (leading_stylebox.stylebox.is_valid()) { + if (leading_stylebox.stylebox.is_valid()) { + new_stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + } + } else if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } +} +void ThemeTypeEditor::_on_pin_leader_button_pressed(Control *p_editor, String p_item_name) { Ref<StyleBox> stylebox; if (Object::cast_to<EditorResourcePicker>(p_editor)) { stylebox = Object::cast_to<EditorResourcePicker>(p_editor)->get_edited_resource(); } + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Pin Stylebox")); + ur->add_do_method(this, "_pin_leading_stylebox", p_item_name, stylebox); + + if (leading_stylebox.pinned) { + ur->add_undo_method(this, "_pin_leading_stylebox", leading_stylebox.item_name, leading_stylebox.stylebox); + } else { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } + + ur->commit_action(); +} + +void ThemeTypeEditor::_pin_leading_stylebox(String p_item_name, Ref<StyleBox> p_stylebox) { + if (leading_stylebox.stylebox.is_valid()) { + leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + } + LeadingStylebox leader; leader.pinned = true; leader.item_name = p_item_name; - leader.stylebox = stylebox; - leader.ref_stylebox = (stylebox.is_valid() ? stylebox->duplicate() : RES()); + leader.stylebox = p_stylebox; + leader.ref_stylebox = (p_stylebox.is_valid() ? p_stylebox->duplicate() : RES()); leading_stylebox = leader; - if (leading_stylebox.stylebox.is_valid()) { - leading_stylebox.stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + if (p_stylebox.is_valid()) { + p_stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } _update_type_items(); } +void ThemeTypeEditor::_on_unpin_leader_button_pressed() { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Unpin Stylebox")); + ur->add_do_method(this, "_unpin_leading_stylebox"); + ur->add_undo_method(this, "_pin_leading_stylebox", leading_stylebox.item_name, leading_stylebox.stylebox); + ur->commit_action(); +} + void ThemeTypeEditor::_unpin_leading_stylebox() { if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); @@ -2982,11 +3240,22 @@ void ThemeTypeEditor::_update_stylebox_from_leading() { } void ThemeTypeEditor::_type_variation_changed(const String p_value) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Theme Type Variation")); + if (p_value.is_empty()) { - edited_theme->clear_type_variation(edited_type); + ur->add_do_method(*edited_theme, "clear_type_variation", edited_type); } else { - edited_theme->set_type_variation(edited_type, StringName(p_value)); + ur->add_do_method(*edited_theme, "set_type_variation", edited_type, StringName(p_value)); } + + if (edited_theme->get_type_variation_base(edited_type) == "") { + ur->add_undo_method(*edited_theme, "clear_type_variation", edited_type); + } else { + ur->add_undo_method(*edited_theme, "set_type_variation", edited_type, edited_theme->get_type_variation_base(edited_type)); + } + + ur->commit_action(); } void ThemeTypeEditor::_add_type_variation_cbk() { @@ -3002,7 +3271,6 @@ void ThemeTypeEditor::_add_type_dialog_selected(const String p_type_name) { select_type(p_type_name); } else if (add_type_mode == ADD_VARIATION_BASE) { _type_variation_changed(p_type_name); - _update_type_items(); } } @@ -3028,6 +3296,13 @@ void ThemeTypeEditor::_notification(int p_what) { } } +void ThemeTypeEditor::_bind_methods() { + ClassDB::bind_method(D_METHOD("_update_type_items"), &ThemeTypeEditor::_update_type_items); + ClassDB::bind_method(D_METHOD("_pin_leading_stylebox"), &ThemeTypeEditor::_pin_leading_stylebox); + ClassDB::bind_method(D_METHOD("_unpin_leading_stylebox"), &ThemeTypeEditor::_unpin_leading_stylebox); + ClassDB::bind_method(D_METHOD("_change_pinned_stylebox"), &ThemeTypeEditor::_change_pinned_stylebox); +} + void ThemeTypeEditor::set_edited_theme(const Ref<Theme> &p_theme) { if (edited_theme.is_valid()) { edited_theme->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_type_list_debounced)); @@ -3067,6 +3342,10 @@ void ThemeTypeEditor::select_type(String p_type_name) { } } +bool ThemeTypeEditor::is_stylebox_pinned(Ref<StyleBox> p_stylebox) { + return leading_stylebox.pinned && leading_stylebox.stylebox == p_stylebox; +} + ThemeTypeEditor::ThemeTypeEditor() { VBoxContainer *main_vb = memnew(VBoxContainer); add_child(main_vb); @@ -3331,7 +3610,9 @@ ThemeEditor::ThemeEditor() { theme_edit_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_edit_button_cbk)); top_menu->add_child(theme_edit_button); - theme_edit_dialog = memnew(ThemeItemEditorDialog); + theme_type_editor = memnew(ThemeTypeEditor); + + theme_edit_dialog = memnew(ThemeItemEditorDialog(theme_type_editor)); theme_edit_dialog->hide(); top_menu->add_child(theme_edit_dialog); @@ -3381,7 +3662,6 @@ ThemeEditor::ThemeEditor() { main_hs->add_child(preview_scene_dialog); preview_scene_dialog->connect("file_selected", callable_mp(this, &ThemeEditor::_preview_scene_dialog_cbk)); - theme_type_editor = memnew(ThemeTypeEditor); main_hs->add_child(theme_type_editor); theme_type_editor->set_custom_minimum_size(Size2(280, 0) * EDSCALE); } diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h index bd1bf216e1..4c6b16a68c 100644 --- a/editor/plugins/theme_editor_plugin.h +++ b/editor/plugins/theme_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -177,9 +177,13 @@ public: ThemeItemImportTree(); }; +class ThemeTypeEditor; + class ThemeItemEditorDialog : public AcceptDialog { GDCLASS(ThemeItemEditorDialog, AcceptDialog); + ThemeTypeEditor *theme_type_editor; + Ref<Theme> edited_theme; TabContainer *tc; @@ -258,11 +262,12 @@ class ThemeItemEditorDialog : public AcceptDialog { protected: void _notification(int p_what); + static void _bind_methods(); public: void set_edited_theme(const Ref<Theme> &p_theme); - ThemeItemEditorDialog(); + ThemeItemEditorDialog(ThemeTypeEditor *p_theme_editor); }; class ThemeTypeDialog : public ConfirmationDialog { @@ -373,7 +378,10 @@ class ThemeTypeEditor : public MarginContainer { void _font_item_changed(Ref<Font> p_value, String p_item_name); void _icon_item_changed(Ref<Texture2D> p_value, String p_item_name); void _stylebox_item_changed(Ref<StyleBox> p_value, String p_item_name); - void _pin_leading_stylebox(Control *p_editor, String p_item_name); + void _change_pinned_stylebox(); + void _on_pin_leader_button_pressed(Control *p_editor, String p_item_name); + void _pin_leading_stylebox(String p_item_name, Ref<StyleBox> p_stylebox); + void _on_unpin_leader_button_pressed(); void _unpin_leading_stylebox(); void _update_stylebox_from_leading(); @@ -384,10 +392,12 @@ class ThemeTypeEditor : public MarginContainer { protected: void _notification(int p_what); + static void _bind_methods(); public: void set_edited_theme(const Ref<Theme> &p_theme); void select_type(String p_type_name); + bool is_stylebox_pinned(Ref<StyleBox> p_stylebox); ThemeTypeEditor(); }; diff --git a/editor/plugins/theme_editor_preview.cpp b/editor/plugins/theme_editor_preview.cpp index 9a5ecd3802..c4ef6e086d 100644 --- a/editor/plugins/theme_editor_preview.cpp +++ b/editor/plugins/theme_editor_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,6 +36,8 @@ #include "editor/editor_scale.h" +constexpr double REFRESH_TIMER = 1.5; + void ThemeEditorPreview::set_preview_theme(const Ref<Theme> &p_theme) { preview_content->set_theme(p_theme); } @@ -66,7 +68,7 @@ void ThemeEditorPreview::_refresh_interval() { } void ThemeEditorPreview::_preview_visibility_changed() { - set_process(is_visible()); + set_process(is_visible_in_tree()); } void ThemeEditorPreview::_picker_button_cbk() { @@ -200,7 +202,7 @@ void ThemeEditorPreview::_notification(int p_what) { case NOTIFICATION_PROCESS: { time_left -= get_process_delta_time(); if (time_left < 0) { - time_left = 1.5; + time_left = REFRESH_TIMER; _refresh_interval(); } } break; diff --git a/editor/plugins/theme_editor_preview.h b/editor/plugins/theme_editor_preview.h index 73422b4fba..a509ae3c50 100644 --- a/editor/plugins/theme_editor_preview.h +++ b/editor/plugins/theme_editor_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/atlas_merging_dialog.cpp b/editor/plugins/tiles/atlas_merging_dialog.cpp index e4a16274fe..fc4764f61e 100644 --- a/editor/plugins/tiles/atlas_merging_dialog.cpp +++ b/editor/plugins/tiles/atlas_merging_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -301,7 +301,7 @@ AtlasMergingDialog::AtlasMergingDialog() { preview = memnew(TextureRect); preview->set_h_size_flags(Control::SIZE_EXPAND_FILL); preview->set_v_size_flags(Control::SIZE_EXPAND_FILL); - preview->set_expand(true); + preview->set_ignore_texture_size(true); preview->hide(); preview->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED); atlas_merging_right_panel->add_child(preview); diff --git a/editor/plugins/tiles/atlas_merging_dialog.h b/editor/plugins/tiles/atlas_merging_dialog.h index 7cb54bc17e..2ae94cf44a 100644 --- a/editor/plugins/tiles/atlas_merging_dialog.h +++ b/editor/plugins/tiles/atlas_merging_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_atlas_view.cpp b/editor/plugins/tiles/tile_atlas_view.cpp index 6a3261cbee..c85956991a 100644 --- a/editor/plugins/tiles/tile_atlas_view.cpp +++ b/editor/plugins/tiles/tile_atlas_view.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_atlas_view.h b/editor/plugins/tiles/tile_atlas_view.h index e1ca3eebee..ca7f083132 100644 --- a/editor/plugins/tiles/tile_atlas_view.h +++ b/editor/plugins/tiles/tile_atlas_view.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp index 5ded607ab5..73fd62d2c4 100644 --- a/editor/plugins/tiles/tile_data_editors.cpp +++ b/editor/plugins/tiles/tile_data_editors.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_data_editors.h b/editor/plugins/tiles/tile_data_editors.h index 3fc5e738bb..b45eb9530b 100644 --- a/editor/plugins/tiles/tile_data_editors.h +++ b/editor/plugins/tiles/tile_data_editors.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index b4d6f3659d..aa92920722 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h index f462119727..b1bee03211 100644 --- a/editor/plugins/tiles/tile_map_editor.h +++ b/editor/plugins/tiles/tile_map_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp index 60a66ab954..ad44da8dc9 100644 --- a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp +++ b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.h b/editor/plugins/tiles/tile_proxies_manager_dialog.h index 6849be2cd6..b235d44982 100644 --- a/editor/plugins/tiles/tile_proxies_manager_dialog.h +++ b/editor/plugins/tiles/tile_proxies_manager_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp index 660eb94cf5..c4cc9745ee 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h index bd1fd2e7d0..51771c59ba 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.h +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_editor.cpp b/editor/plugins/tiles/tile_set_editor.cpp index b7495dbea9..ef8d423724 100644 --- a/editor/plugins/tiles/tile_set_editor.cpp +++ b/editor/plugins/tiles/tile_set_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_editor.h b/editor/plugins/tiles/tile_set_editor.h index 58312ce3df..98ebbae02f 100644 --- a/editor/plugins/tiles/tile_set_editor.h +++ b/editor/plugins/tiles/tile_set_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp index 035fe57d95..240c017b84 100644 --- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h index 4e33128be5..5b48ea4762 100644 --- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h +++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tiles_editor_plugin.cpp b/editor/plugins/tiles/tiles_editor_plugin.cpp index 47dfc57b0f..f99fcb3675 100644 --- a/editor/plugins/tiles/tiles_editor_plugin.cpp +++ b/editor/plugins/tiles/tiles_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -157,6 +157,17 @@ void TilesEditorPlugin::_update_editors() { // Update the viewport. CanvasItemEditor::get_singleton()->update_viewport(); + + // Update visibility of bottom panel buttons. + if (tileset_editor_button->is_pressed() && !tile_set.is_valid()) { + if (tile_map) { + editor_node->make_bottom_panel_item_visible(tilemap_editor); + } else { + editor_node->hide_bottom_panel(); + } + } + tileset_editor_button->set_visible(tile_set.is_valid()); + tilemap_editor_button->set_visible(tile_map); } void TilesEditorPlugin::_notification(int p_what) { diff --git a/editor/plugins/tiles/tiles_editor_plugin.h b/editor/plugins/tiles/tiles_editor_plugin.h index 33493040f6..59eb79480e 100644 --- a/editor/plugins/tiles/tiles_editor_plugin.h +++ b/editor/plugins/tiles/tiles_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp index eea0d2789d..b1d5b348c4 100644 --- a/editor/plugins/version_control_editor_plugin.cpp +++ b/editor/plugins/version_control_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/version_control_editor_plugin.h b/editor/plugins/version_control_editor_plugin.h index 2782c1d9dc..86f98ad3aa 100644 --- a/editor/plugins/version_control_editor_plugin.h +++ b/editor/plugins/version_control_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 365cfd9232..03797b1797 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -183,9 +183,15 @@ void VisualShaderGraphPlugin::set_input_port_default_value(VisualShader::Type p_ switch (p_value.get_type()) { case Variant::COLOR: { + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + break; + } button->set_custom_minimum_size(Size2(30, 0) * EDSCALE); - if (!button->is_connected("draw", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_draw_color_over_button))) { - button->connect("draw", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_draw_color_over_button), varray(button, p_value)); + + Callable ce = callable_mp(editor, &VisualShaderEditor::_draw_color_over_button); + if (!button->is_connected("draw", ce)) { + button->connect("draw", ce, varray(button, p_value)); } } break; case Variant::BOOL: { @@ -320,13 +326,29 @@ void VisualShaderGraphPlugin::register_uniform_name(int p_node_id, LineEdit *p_u } void VisualShaderGraphPlugin::update_theme() { - vector_expanded_color[0] = VisualShaderEditor::get_singleton()->get_theme_color(SNAME("axis_x_color"), SNAME("Editor")); // red - vector_expanded_color[1] = VisualShaderEditor::get_singleton()->get_theme_color(SNAME("axis_y_color"), SNAME("Editor")); // green - vector_expanded_color[2] = VisualShaderEditor::get_singleton()->get_theme_color(SNAME("axis_z_color"), SNAME("Editor")); // blue + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + return; + } + vector_expanded_color[0] = editor->get_theme_color(SNAME("axis_x_color"), SNAME("Editor")); // red + vector_expanded_color[1] = editor->get_theme_color(SNAME("axis_y_color"), SNAME("Editor")); // green + vector_expanded_color[2] = editor->get_theme_color(SNAME("axis_z_color"), SNAME("Editor")); // blue } void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { - if (p_type != visual_shader->get_shader_type()) { + if (!visual_shader.is_valid() || p_type != visual_shader->get_shader_type()) { + return; + } + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + return; + } + GraphEdit *graph = editor->graph; + if (!graph) { + return; + } + VisualShaderGraphPlugin *graph_plugin = editor->get_graph_plugin(); + if (!graph_plugin) { return; } @@ -370,13 +392,15 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { } GraphNode *node = memnew(GraphNode); + graph->add_child(node); + editor->_update_created_node(node); register_link(p_type, p_id, vsnode.ptr(), node); if (is_resizable) { size = resizable_node->get_size(); node->set_resizable(true); - node->connect("resize_request", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_node_resized), varray((int)p_type, p_id)); + node->connect("resize_request", callable_mp(editor, &VisualShaderEditor::_node_resized), varray((int)p_type, p_id)); } if (is_expression) { expression = expression_node->get_expression(); @@ -388,10 +412,10 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { if (p_id >= 2) { node->set_show_close_button(true); - node->connect("close_request", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_delete_node_request), varray(p_type, p_id), CONNECT_DEFERRED); + node->connect("close_request", callable_mp(editor, &VisualShaderEditor::_delete_node_request), varray(p_type, p_id), CONNECT_DEFERRED); } - node->connect("dragged", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_node_dragged), varray(p_id)); + node->connect("dragged", callable_mp(editor, &VisualShaderEditor::_node_dragged), varray(p_id)); Control *custom_editor = nullptr; int port_offset = 1; @@ -416,6 +440,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { comment_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); comment_label->set_text(comment_node->get_description()); } + editor->call_deferred(SNAME("_set_node_size"), (int)p_type, p_id, size); } Ref<VisualShaderNodeParticleEmit> emit = vsnode; @@ -424,32 +449,30 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { } Ref<VisualShaderNodeUniform> uniform = vsnode; - if (uniform.is_valid()) { - VisualShaderEditor::get_singleton()->graph->add_child(node); - VisualShaderEditor::get_singleton()->_update_created_node(node); + HBoxContainer *hb = nullptr; + if (uniform.is_valid()) { LineEdit *uniform_name = memnew(LineEdit); register_uniform_name(p_id, uniform_name); + uniform_name->set_h_size_flags(Control::SIZE_EXPAND_FILL); uniform_name->set_text(uniform->get_uniform_name()); - node->add_child(uniform_name); - uniform_name->connect("text_submitted", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_uniform_line_edit_changed), varray(p_id)); - uniform_name->connect("focus_exited", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_uniform_line_edit_focus_out), varray(uniform_name, p_id)); - - if (vsnode->get_input_port_count() == 0 && vsnode->get_output_port_count() == 1 && vsnode->get_output_port_name(0) == "") { - //shortcut - VisualShaderNode::PortType port_right = vsnode->get_output_port_type(0); - node->set_slot(1, false, VisualShaderNode::PORT_TYPE_SCALAR, Color(), true, port_right, type_color[port_right]); - if (!vsnode->is_use_prop_slots()) { - return; - } + uniform_name->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_changed), varray(p_id)); + uniform_name->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_focus_out), varray(uniform_name, p_id)); + + if (vsnode->get_output_port_count() == 1 && vsnode->get_output_port_name(0) == "") { + hb = memnew(HBoxContainer); + hb->add_child(uniform_name); + node->add_child(hb); + } else { + node->add_child(uniform_name); } port_offset++; } - for (int i = 0; i < VisualShaderEditor::get_singleton()->plugins.size(); i++) { + for (int i = 0; i < editor->plugins.size(); i++) { vsnode->set_meta("id", p_id); vsnode->set_meta("shader_type", (int)p_type); - custom_editor = VisualShaderEditor::get_singleton()->plugins.write[i]->create_editor(visual_shader, vsnode); + custom_editor = editor->plugins.write[i]->create_editor(visual_shader, vsnode); vsnode->remove_meta("id"); vsnode->remove_meta("shader_type"); if (custom_editor) { @@ -461,146 +484,76 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { } Ref<VisualShaderNodeCurveTexture> curve = vsnode; - if (curve.is_valid()) { - if (curve->get_texture().is_valid() && !curve->get_texture()->is_connected("changed", callable_mp(VisualShaderEditor::get_singleton()->get_graph_plugin(), &VisualShaderGraphPlugin::update_curve))) { - curve->get_texture()->connect("changed", callable_mp(VisualShaderEditor::get_singleton()->get_graph_plugin(), &VisualShaderGraphPlugin::update_curve), varray(p_id)); - } - - HBoxContainer *hbox = memnew(HBoxContainer); - custom_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); - hbox->add_child(custom_editor); - custom_editor = hbox; - } - Ref<VisualShaderNodeCurveXYZTexture> curve_xyz = vsnode; - if (curve_xyz.is_valid()) { - if (curve_xyz->get_texture().is_valid() && !curve_xyz->get_texture()->is_connected("changed", callable_mp(VisualShaderEditor::get_singleton()->get_graph_plugin(), &VisualShaderGraphPlugin::update_curve_xyz))) { - curve_xyz->get_texture()->connect("changed", callable_mp(VisualShaderEditor::get_singleton()->get_graph_plugin(), &VisualShaderGraphPlugin::update_curve_xyz), varray(p_id)); - } - HBoxContainer *hbox = memnew(HBoxContainer); - custom_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); - hbox->add_child(custom_editor); - custom_editor = hbox; + bool is_curve = curve.is_valid() || curve_xyz.is_valid(); + if (is_curve) { + hb = memnew(HBoxContainer); + node->add_child(hb); } - if (custom_editor && !vsnode->is_use_prop_slots() && vsnode->get_output_port_count() > 0 && vsnode->get_output_port_name(0) == "" && (vsnode->get_input_port_count() == 0 || vsnode->get_input_port_name(0) == "")) { - //will be embedded in first port - } else if (custom_editor) { - port_offset++; - node->add_child(custom_editor); - - bool is_curve = curve.is_valid() || curve_xyz.is_valid(); - - if (is_curve) { - // a default value handling - { - Variant default_value; - bool port_left_used = false; - - for (const VisualShader::Connection &E : connections) { - if (E.to_node == p_id && E.to_port == 0) { - port_left_used = true; - break; - } - } - - if (!port_left_used) { - default_value = vsnode->get_input_port_default_value(0); - } - - Button *button = memnew(Button); - custom_editor->add_child(button); - register_default_input_button(p_id, 0, button); - custom_editor->move_child(button, 0); - - button->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_edit_port_default_input), varray(button, p_id, 0)); - if (default_value.get_type() != Variant::NIL) { - set_input_port_default_value(p_type, p_id, 0, default_value); - } else { - button->hide(); - } - } - - VisualShaderEditor::get_singleton()->graph->add_child(node); - VisualShaderEditor::get_singleton()->_update_created_node(node); - - TextureButton *preview = memnew(TextureButton); - preview->set_toggle_mode(true); - preview->set_normal_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"))); - preview->set_pressed_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); - preview->set_v_size_flags(Control::SIZE_SHRINK_CENTER); - - register_output_port(p_id, 0, preview); - - preview->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_preview_select_port), varray(p_id, 0), CONNECT_DEFERRED); - custom_editor->add_child(preview); + if (curve.is_valid()) { + custom_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); - if (vsnode->get_output_port_for_preview() >= 0) { - show_port_preview(p_type, p_id, vsnode->get_output_port_for_preview()); - } + Callable ce = callable_mp(graph_plugin, &VisualShaderGraphPlugin::update_curve); + if (curve->get_texture().is_valid() && !curve->get_texture()->is_connected("changed", ce)) { + curve->get_texture()->connect("changed", ce, varray(p_id)); } - if (curve.is_valid()) { - CurveEditor *curve_editor = memnew(CurveEditor); - node->add_child(curve_editor); - register_curve_editor(p_id, 0, curve_editor); - curve_editor->set_custom_minimum_size(Size2(300, 0)); - curve_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); - if (curve->get_texture().is_valid()) { - curve_editor->set_curve(curve->get_texture()->get_curve()); - } + CurveEditor *curve_editor = memnew(CurveEditor); + node->add_child(curve_editor); + register_curve_editor(p_id, 0, curve_editor); + curve_editor->set_custom_minimum_size(Size2(300, 0)); + curve_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); + if (curve->get_texture().is_valid()) { + curve_editor->set_curve(curve->get_texture()->get_curve()); } + } - if (curve_xyz.is_valid()) { - CurveEditor *curve_editor_x = memnew(CurveEditor); - node->add_child(curve_editor_x); - register_curve_editor(p_id, 0, curve_editor_x); - curve_editor_x->set_custom_minimum_size(Size2(300, 0)); - curve_editor_x->set_h_size_flags(Control::SIZE_EXPAND_FILL); - if (curve_xyz->get_texture().is_valid()) { - curve_editor_x->set_curve(curve_xyz->get_texture()->get_curve_x()); - } - - CurveEditor *curve_editor_y = memnew(CurveEditor); - node->add_child(curve_editor_y); - register_curve_editor(p_id, 1, curve_editor_y); - curve_editor_y->set_custom_minimum_size(Size2(300, 0)); - curve_editor_y->set_h_size_flags(Control::SIZE_EXPAND_FILL); - if (curve_xyz->get_texture().is_valid()) { - curve_editor_y->set_curve(curve_xyz->get_texture()->get_curve_y()); - } + if (curve_xyz.is_valid()) { + custom_editor->set_h_size_flags(Control::SIZE_EXPAND_FILL); - CurveEditor *curve_editor_z = memnew(CurveEditor); - node->add_child(curve_editor_z); - register_curve_editor(p_id, 2, curve_editor_z); - curve_editor_z->set_custom_minimum_size(Size2(300, 0)); - curve_editor_z->set_h_size_flags(Control::SIZE_EXPAND_FILL); - if (curve_xyz->get_texture().is_valid()) { - curve_editor_z->set_curve(curve_xyz->get_texture()->get_curve_z()); - } + Callable ce = callable_mp(graph_plugin, &VisualShaderGraphPlugin::update_curve_xyz); + if (curve_xyz->get_texture().is_valid() && !curve_xyz->get_texture()->is_connected("changed", ce)) { + curve_xyz->get_texture()->connect("changed", ce, varray(p_id)); } - if (is_curve) { - VisualShaderNode::PortType port_left = vsnode->get_input_port_type(0); - VisualShaderNode::PortType port_right = vsnode->get_output_port_type(0); - node->set_slot(1, true, port_left, type_color[port_left], true, port_right, type_color[port_right]); + CurveEditor *curve_editor_x = memnew(CurveEditor); + node->add_child(curve_editor_x); + register_curve_editor(p_id, 0, curve_editor_x); + curve_editor_x->set_custom_minimum_size(Size2(300, 0)); + curve_editor_x->set_h_size_flags(Control::SIZE_EXPAND_FILL); + if (curve_xyz->get_texture().is_valid()) { + curve_editor_x->set_curve(curve_xyz->get_texture()->get_curve_x()); + } - VisualShaderEditor::get_singleton()->call_deferred(SNAME("_set_node_size"), (int)p_type, p_id, size); + CurveEditor *curve_editor_y = memnew(CurveEditor); + node->add_child(curve_editor_y); + register_curve_editor(p_id, 1, curve_editor_y); + curve_editor_y->set_custom_minimum_size(Size2(300, 0)); + curve_editor_y->set_h_size_flags(Control::SIZE_EXPAND_FILL); + if (curve_xyz->get_texture().is_valid()) { + curve_editor_y->set_curve(curve_xyz->get_texture()->get_curve_y()); } - if (vsnode->is_use_prop_slots()) { - String error = vsnode->get_warning(visual_shader->get_mode(), p_type); - if (!error.is_empty()) { - Label *error_label = memnew(Label); - error_label->add_theme_color_override("font_color", VisualShaderEditor::get_singleton()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); - error_label->set_text(error); - node->add_child(error_label); - } + CurveEditor *curve_editor_z = memnew(CurveEditor); + node->add_child(curve_editor_z); + register_curve_editor(p_id, 2, curve_editor_z); + curve_editor_z->set_custom_minimum_size(Size2(300, 0)); + curve_editor_z->set_h_size_flags(Control::SIZE_EXPAND_FILL); + if (curve_xyz->get_texture().is_valid()) { + curve_editor_z->set_curve(curve_xyz->get_texture()->get_curve_z()); + } + } - return; + if (custom_editor) { + if (is_curve || (hb == nullptr && !vsnode->is_use_prop_slots() && vsnode->get_output_port_count() > 0 && vsnode->get_output_port_name(0) == "" && (vsnode->get_input_port_count() == 0 || vsnode->get_input_port_name(0) == ""))) { + //will be embedded in first port + } else { + port_offset++; + node->add_child(custom_editor); + custom_editor = nullptr; } - custom_editor = nullptr; } if (is_group) { @@ -625,14 +578,14 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { Button *add_input_btn = memnew(Button); add_input_btn->set_text(TTR("Add Input")); - add_input_btn->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_add_input_port), varray(p_id, group_node->get_free_input_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, input_port_name), CONNECT_DEFERRED); + add_input_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_input_port), varray(p_id, group_node->get_free_input_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, input_port_name), CONNECT_DEFERRED); hb2->add_child(add_input_btn); hb2->add_spacer(); Button *add_output_btn = memnew(Button); add_output_btn->set_text(TTR("Add Output")); - add_output_btn->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_add_output_port), varray(p_id, group_node->get_free_output_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, output_port_name), CONNECT_DEFERRED); + add_output_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_output_port), varray(p_id, group_node->get_free_output_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, output_port_name), CONNECT_DEFERRED); hb2->add_child(add_output_btn); node->add_child(hb2); @@ -693,7 +646,12 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { name_right = vector_expanded_name[expanded_port_counter++]; } - HBoxContainer *hb = memnew(HBoxContainer); + bool is_first_hbox = false; + if (i == 0 && hb != nullptr) { + is_first_hbox = true; + } else { + hb = memnew(HBoxContainer); + } hb->add_theme_constant_override("separation", 7 * EDSCALE); Variant default_value; @@ -705,7 +663,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { Button *button = memnew(Button); hb->add_child(button); register_default_input_button(p_id, i, button); - button->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_edit_port_default_input), varray(button, p_id, i)); + button->connect("pressed", callable_mp(editor, &VisualShaderEditor::_edit_port_default_input), varray(button, p_id, i)); if (default_value.get_type() != Variant::NIL) { // only a label set_input_port_default_value(p_type, p_id, i, default_value); } else { @@ -728,20 +686,20 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { type_box->add_item(TTR("Sampler")); type_box->select(group_node->get_input_port_type(i)); type_box->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); - type_box->connect("item_selected", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_change_input_port_type), varray(p_id, i), CONNECT_DEFERRED); + type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_input_port_type), varray(p_id, i), CONNECT_DEFERRED); LineEdit *name_box = memnew(LineEdit); hb->add_child(name_box); name_box->set_custom_minimum_size(Size2(65 * EDSCALE, 0)); name_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); name_box->set_text(name_left); - name_box->connect("text_submitted", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_change_input_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED); - name_box->connect("focus_exited", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, false), CONNECT_DEFERRED); + name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_input_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED); + name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, false), CONNECT_DEFERRED); Button *remove_btn = memnew(Button); remove_btn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); remove_btn->set_tooltip(TTR("Remove") + " " + name_left); - remove_btn->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_remove_input_port), varray(p_id, i), CONNECT_DEFERRED); + remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_input_port), varray(p_id, i), CONNECT_DEFERRED); hb->add_child(remove_btn); } else { Label *label = memnew(Label); @@ -752,14 +710,14 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { if (vsnode->get_input_port_default_hint(i) != "" && !port_left_used) { Label *hint_label = memnew(Label); hint_label->set_text("[" + vsnode->get_input_port_default_hint(i) + "]"); - hint_label->add_theme_color_override("font_color", VisualShaderEditor::get_singleton()->get_theme_color(SNAME("font_readonly_color"), SNAME("TextEdit"))); + hint_label->add_theme_color_override("font_color", editor->get_theme_color(SNAME("font_readonly_color"), SNAME("TextEdit"))); hint_label->add_theme_style_override("normal", label_style); hb->add_child(hint_label); } } } - if (!is_group) { + if (!is_group && !is_first_hbox) { hb->add_spacer(); } @@ -768,7 +726,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { Button *remove_btn = memnew(Button); remove_btn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); remove_btn->set_tooltip(TTR("Remove") + " " + name_left); - remove_btn->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_remove_output_port), varray(p_id, i), CONNECT_DEFERRED); + remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_output_port), varray(p_id, i), CONNECT_DEFERRED); hb->add_child(remove_btn); LineEdit *name_box = memnew(LineEdit); @@ -776,8 +734,8 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { name_box->set_custom_minimum_size(Size2(65 * EDSCALE, 0)); name_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); name_box->set_text(name_right); - name_box->connect("text_submitted", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_change_output_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED); - name_box->connect("focus_exited", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, true), CONNECT_DEFERRED); + name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_output_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED); + name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, true), CONNECT_DEFERRED); OptionButton *type_box = memnew(OptionButton); hb->add_child(type_box); @@ -788,7 +746,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { type_box->add_item(TTR("Transform")); type_box->select(group_node->get_output_port_type(i)); type_box->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); - type_box->connect("item_selected", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_change_output_port_type), varray(p_id, i), CONNECT_DEFERRED); + type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_output_port_type), varray(p_id, i), CONNECT_DEFERRED); } else { Label *label = memnew(Label); label->set_text(name_right); @@ -802,23 +760,23 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { if (vsnode->is_output_port_expandable(i)) { TextureButton *expand = memnew(TextureButton); expand->set_toggle_mode(true); - expand->set_normal_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons"))); - expand->set_pressed_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons"))); + expand->set_normal_texture(editor->get_theme_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons"))); + expand->set_pressed_texture(editor->get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons"))); expand->set_v_size_flags(Control::SIZE_SHRINK_CENTER); expand->set_pressed(vsnode->_is_output_port_expanded(i)); - expand->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_expand_output_port), varray(p_id, i, !vsnode->_is_output_port_expanded(i)), CONNECT_DEFERRED); + expand->connect("pressed", callable_mp(editor, &VisualShaderEditor::_expand_output_port), varray(p_id, i, !vsnode->_is_output_port_expanded(i)), CONNECT_DEFERRED); hb->add_child(expand); } if (vsnode->has_output_port_preview(i) && port_right != VisualShaderNode::PORT_TYPE_TRANSFORM && port_right != VisualShaderNode::PORT_TYPE_SAMPLER) { TextureButton *preview = memnew(TextureButton); preview->set_toggle_mode(true); - preview->set_normal_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"))); - preview->set_pressed_texture(VisualShaderEditor::get_singleton()->get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); + preview->set_normal_texture(editor->get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"))); + preview->set_pressed_texture(editor->get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); preview->set_v_size_flags(Control::SIZE_SHRINK_CENTER); register_output_port(p_id, j, preview); - preview->connect("pressed", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_preview_select_port), varray(p_id, j), CONNECT_DEFERRED); + preview->connect("pressed", callable_mp(editor, &VisualShaderEditor::_preview_select_port), varray(p_id, j), CONNECT_DEFERRED); hb->add_child(preview); } } @@ -830,13 +788,19 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { port_offset++; } - node->add_child(hb); + if (!is_first_hbox) { + node->add_child(hb); + } if (expanded_type != VisualShaderNode::PORT_TYPE_SCALAR) { continue; } - node->set_slot(i + port_offset, valid_left, port_left, type_color[port_left], valid_right, port_right, type_color[port_right]); + int idx = 1; + if (!is_first_hbox) { + idx = i + port_offset; + } + node->set_slot(idx, valid_left, port_left, type_color[port_left], valid_right, port_right, type_color[port_right]); if (vsnode->_is_output_port_expanded(i)) { if (vsnode->get_output_port_type(i) == VisualShaderNode::PORT_TYPE_VECTOR) { @@ -879,7 +843,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { String error = vsnode->get_warning(visual_shader->get_mode(), p_type); if (!error.is_empty()) { Label *error_label = memnew(Label); - error_label->add_theme_color_override("font_color", VisualShaderEditor::get_singleton()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); + error_label->add_theme_color_override("font_color", editor->get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->set_text(error); node->add_child(error_label); } @@ -905,7 +869,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { expression_box->set_syntax_highlighter(expression_syntax_highlighter); expression_box->add_theme_color_override("background_color", background_color); - for (const String &E : VisualShaderEditor::get_singleton()->keyword_list) { + for (const String &E : editor->keyword_list) { if (ShaderLanguage::is_control_flow_keyword(E)) { expression_syntax_highlighter->add_keyword_color(E, control_flow_keyword_color); } else { @@ -913,8 +877,8 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { } } - expression_box->add_theme_font_override("font", VisualShaderEditor::get_singleton()->get_theme_font(SNAME("expression"), SNAME("EditorFonts"))); - expression_box->add_theme_font_size_override("font_size", VisualShaderEditor::get_singleton()->get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts"))); + expression_box->add_theme_font_override("font", editor->get_theme_font(SNAME("expression"), SNAME("EditorFonts"))); + expression_box->add_theme_font_size_override("font_size", editor->get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts"))); expression_box->add_theme_color_override("font_color", text_color); expression_syntax_highlighter->set_number_color(number_color); expression_syntax_highlighter->set_symbol_color(symbol_color); @@ -935,18 +899,11 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { expression_box->set_context_menu_enabled(false); expression_box->set_draw_line_numbers(true); - expression_box->connect("focus_exited", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_expression_focus_out), varray(expression_box, p_id)); + expression_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_expression_focus_out), varray(expression_box, p_id)); } - if (!uniform.is_valid()) { - VisualShaderEditor::get_singleton()->graph->add_child(node); - if (is_comment) { - VisualShaderEditor::get_singleton()->graph->move_child(node, 0); // to prevents a bug where comment node overlaps its content - } - VisualShaderEditor::get_singleton()->_update_created_node(node); - if (is_resizable) { - VisualShaderEditor::get_singleton()->call_deferred(SNAME("_set_node_size"), (int)p_type, p_id, size); - } + if (is_comment) { + graph->move_child(node, 0); // to prevents a bug where comment node overlaps its content } } @@ -959,8 +916,18 @@ void VisualShaderGraphPlugin::remove_node(VisualShader::Type p_type, int p_id) { } void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) { - if (visual_shader->get_shader_type() == p_type) { - VisualShaderEditor::get_singleton()->graph->connect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port); + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + return; + } + GraphEdit *graph = editor->graph; + if (!graph) { + return; + } + + if (visual_shader.is_valid() && visual_shader->get_shader_type() == p_type) { + graph->connect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port); + connections.push_back({ p_from_node, p_from_port, p_to_node, p_to_port }); if (links[p_to_node].input_ports.has(p_to_port) && links[p_to_node].input_ports[p_to_port].default_input_button != nullptr) { links[p_to_node].input_ports[p_to_port].default_input_button->hide(); @@ -969,8 +936,18 @@ void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_fro } void VisualShaderGraphPlugin::disconnect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) { - if (visual_shader->get_shader_type() == p_type) { - VisualShaderEditor::get_singleton()->graph->disconnect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port); + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + return; + } + GraphEdit *graph = editor->graph; + if (!graph) { + return; + } + + if (visual_shader.is_valid() && visual_shader->get_shader_type() == p_type) { + graph->disconnect_node(itos(p_from_node), p_from_port, itos(p_to_node), p_to_port); + for (const List<VisualShader::Connection>::Element *E = connections.front(); E; E = E->next()) { if (E->get().from_node == p_from_node && E->get().from_port == p_from_port && E->get().to_node == p_to_node && E->get().to_port == p_to_port) { connections.erase(E); @@ -1001,8 +978,10 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) { } visual_shader = Ref<VisualShader>(p_visual_shader); graph_plugin->register_shader(visual_shader.ptr()); - if (!visual_shader->is_connected("changed", callable_mp(this, &VisualShaderEditor::_update_preview))) { - visual_shader->connect("changed", callable_mp(this, &VisualShaderEditor::_update_preview)); + + Callable ce = callable_mp(this, &VisualShaderEditor::_update_preview); + if (!visual_shader->is_connected("changed", ce)) { + visual_shader->connect("changed", ce); } #ifndef DISABLE_DEPRECATED Dictionary engine_version = Engine::get_singleton()->get_version_info(); @@ -1029,8 +1008,9 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) { _set_mode(visual_shader->get_mode()); } else { if (visual_shader.is_valid()) { - if (visual_shader->is_connected("changed", callable_mp(this, &VisualShaderEditor::_update_preview))) { - visual_shader->disconnect("changed", callable_mp(this, &VisualShaderEditor::_update_preview)); + Callable ce = callable_mp(this, &VisualShaderEditor::_update_preview); + if (visual_shader->is_connected("changed", ce)) { + visual_shader->disconnect("changed", ce); } } visual_shader.unref(); @@ -4008,19 +3988,8 @@ VisualShaderEditor *VisualShaderEditor::singleton = nullptr; VisualShaderEditor::VisualShaderEditor() { singleton = this; - updating = false; - saved_node_pos_dirty = false; - saved_node_pos = Point2(0, 0); ShaderLanguage::get_keyword_list(&keyword_list); - pending_update_preview = false; - shader_error = false; - - to_node = -1; - to_slot = -1; - from_node = -1; - from_slot = -1; - graph = memnew(GraphEdit); graph->get_zoom_hbox()->set_h_size_flags(SIZE_EXPAND_FILL); graph->set_v_size_flags(SIZE_EXPAND_FILL); @@ -4836,7 +4805,10 @@ public: } void _item_selected(int p_item) { - VisualShaderEditor::get_singleton()->call_deferred(SNAME("_input_select_item"), input, get_item_text(p_item)); + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (editor) { + editor->call_deferred(SNAME("_input_select_item"), input, get_item_text(p_item)); + } } void setup(const Ref<VisualShaderNodeInput> &p_input) { @@ -4880,7 +4852,10 @@ public: } void _item_selected(int p_item) { - VisualShaderEditor::get_singleton()->call_deferred(SNAME("_uniform_select_item"), uniform_ref, get_item_text(p_item)); + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (editor) { + editor->call_deferred(SNAME("_uniform_select_item"), uniform_ref, get_item_text(p_item)); + } } void setup(const Ref<VisualShaderNodeUniformRef> &p_uniform_ref) { @@ -4948,8 +4923,14 @@ public: } } if (p_property != "constant") { - undo_redo->add_do_method(VisualShaderEditor::get_singleton()->get_graph_plugin(), "update_node_deferred", shader_type, node_id); - undo_redo->add_undo_method(VisualShaderEditor::get_singleton()->get_graph_plugin(), "update_node_deferred", shader_type, node_id); + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (editor) { + VisualShaderGraphPlugin *graph_plugin = editor->get_graph_plugin(); + if (graph_plugin) { + undo_redo->add_do_method(graph_plugin, "update_node_deferred", shader_type, node_id); + undo_redo->add_undo_method(graph_plugin, "update_node_deferred", shader_type, node_id); + } + } } undo_redo->commit_action(); @@ -5101,6 +5082,11 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par } void EditorPropertyShaderMode::_option_selected(int p_which) { + VisualShaderEditor *editor = VisualShaderEditor::get_singleton(); + if (!editor) { + return; + } + //will not use this, instead will do all the logic setting manually //emit_signal(SNAME("property_changed"), get_edited_property(), p_which); @@ -5116,8 +5102,8 @@ void EditorPropertyShaderMode::_option_selected(int p_which) { undo_redo->add_do_method(visual_shader.ptr(), "set_mode", p_which); undo_redo->add_undo_method(visual_shader.ptr(), "set_mode", visual_shader->get_mode()); - undo_redo->add_do_method(VisualShaderEditor::get_singleton(), "_set_mode", p_which); - undo_redo->add_undo_method(VisualShaderEditor::get_singleton(), "_set_mode", visual_shader->get_mode()); + undo_redo->add_do_method(editor, "_set_mode", p_which); + undo_redo->add_undo_method(editor, "_set_mode", visual_shader->get_mode()); //now undo is hell @@ -5156,12 +5142,11 @@ void EditorPropertyShaderMode::_option_selected(int p_which) { } } - undo_redo->add_do_method(VisualShaderEditor::get_singleton(), "_update_options_menu"); - undo_redo->add_undo_method(VisualShaderEditor::get_singleton(), "_update_options_menu"); + undo_redo->add_do_method(editor, "_update_options_menu"); + undo_redo->add_undo_method(editor, "_update_options_menu"); - //update graph - undo_redo->add_do_method(VisualShaderEditor::get_singleton(), "_update_graph"); - undo_redo->add_undo_method(VisualShaderEditor::get_singleton(), "_update_graph"); + undo_redo->add_do_method(editor, "_update_graph"); + undo_redo->add_undo_method(editor, "_update_graph"); undo_redo->commit_action(); } diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 74ccda3c9a..2b837ef4a0 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -131,42 +131,42 @@ class VisualShaderEditor : public VBoxContainer { GDCLASS(VisualShaderEditor, VBoxContainer); friend class VisualShaderGraphPlugin; - CustomPropertyEditor *property_editor; - int editing_node; - int editing_port; + CustomPropertyEditor *property_editor = nullptr; + int editing_node = -1; + int editing_port = -1; Ref<VisualShader> visual_shader; - GraphEdit *graph; - Button *add_node; - Button *preview_shader; + GraphEdit *graph = nullptr; + Button *add_node = nullptr; + Button *preview_shader = nullptr; OptionButton *edit_type = nullptr; - OptionButton *edit_type_standard; - OptionButton *edit_type_particles; - OptionButton *edit_type_sky; - OptionButton *edit_type_fog; - CheckBox *custom_mode_box; + OptionButton *edit_type_standard = nullptr; + OptionButton *edit_type_particles = nullptr; + OptionButton *edit_type_sky = nullptr; + OptionButton *edit_type_fog = nullptr; + CheckBox *custom_mode_box = nullptr; bool custom_mode_enabled = false; - bool pending_update_preview; - bool shader_error; - Window *preview_window; - VBoxContainer *preview_vbox; - CodeEdit *preview_text; - Ref<CodeHighlighter> syntax_highlighter; - PanelContainer *error_panel; - Label *error_label; + bool pending_update_preview = false; + bool shader_error = false; + Window *preview_window = nullptr; + VBoxContainer *preview_vbox = nullptr; + CodeEdit *preview_text = nullptr; + Ref<CodeHighlighter> syntax_highlighter = nullptr; + PanelContainer *error_panel = nullptr; + Label *error_label = nullptr; - UndoRedo *undo_redo; + UndoRedo *undo_redo = nullptr; Point2 saved_node_pos; - bool saved_node_pos_dirty; + bool saved_node_pos_dirty = false; - ConfirmationDialog *members_dialog; + ConfirmationDialog *members_dialog = nullptr; VisualShaderNode::PortType members_input_port_type = VisualShaderNode::PORT_TYPE_MAX; VisualShaderNode::PortType members_output_port_type = VisualShaderNode::PORT_TYPE_MAX; - PopupMenu *popup_menu; + PopupMenu *popup_menu = nullptr; PopupMenu *constants_submenu = nullptr; - MenuButton *tools; + MenuButton *tools = nullptr; PopupPanel *comment_title_change_popup = nullptr; LineEdit *comment_title_change_edit = nullptr; @@ -231,11 +231,11 @@ class VisualShaderEditor : public VBoxContainer { SET_COMMENT_DESCRIPTION, }; - Tree *members; - AcceptDialog *alert; - LineEdit *node_filter; - RichTextLabel *node_desc; - Label *highend_label; + Tree *members = nullptr; + AcceptDialog *alert = nullptr; + LineEdit *node_filter = nullptr; + RichTextLabel *node_desc = nullptr; + Label *highend_label = nullptr; void _tools_menu_option(int p_idx); void _show_members_dialog(bool at_mouse_pos, VisualShaderNode::PortType p_input_port_type = VisualShaderNode::PORT_TYPE_MAX, VisualShaderNode::PortType p_output_port_type = VisualShaderNode::PORT_TYPE_MAX); @@ -330,7 +330,7 @@ class VisualShaderEditor : public VBoxContainer { bool drag_dirty = false; void _node_dragged(const Vector2 &p_from, const Vector2 &p_to, int p_node); void _nodes_dragged(); - bool updating; + bool updating = false; void _connection_request(const String &p_from, int p_from_index, const String &p_to, int p_to_index); void _disconnection_request(const String &p_from, int p_from_index, const String &p_to, int p_to_index); @@ -347,10 +347,10 @@ class VisualShaderEditor : public VBoxContainer { void _edit_port_default_input(Object *p_button, int p_node, int p_port); void _port_edited(); - int to_node; - int to_slot; - int from_node; - int from_slot; + int to_node = -1; + int to_slot = -1; + int from_node = -1; + int from_slot = -1; Set<int> selected_constants; Set<int> selected_uniforms; @@ -480,9 +480,9 @@ public: class VisualShaderEditorPlugin : public EditorPlugin { GDCLASS(VisualShaderEditorPlugin, EditorPlugin); - VisualShaderEditor *visual_shader_editor; - EditorNode *editor; - Button *button; + VisualShaderEditor *visual_shader_editor = nullptr; + EditorNode *editor = nullptr; + Button *button = nullptr; public: virtual String get_name() const override { return "VisualShader"; } @@ -504,7 +504,7 @@ public: class EditorPropertyShaderMode : public EditorProperty { GDCLASS(EditorPropertyShaderMode, EditorProperty); - OptionButton *options; + OptionButton *options = nullptr; void _option_selected(int p_which); diff --git a/editor/plugins/voxel_gi_editor_plugin.cpp b/editor/plugins/voxel_gi_editor_plugin.cpp index 4e81fc4e77..1fd47b67c5 100644 --- a/editor/plugins/voxel_gi_editor_plugin.cpp +++ b/editor/plugins/voxel_gi_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/voxel_gi_editor_plugin.h b/editor/plugins/voxel_gi_editor_plugin.h index ed66728557..4c7865d868 100644 --- a/editor/plugins/voxel_gi_editor_plugin.h +++ b/editor/plugins/voxel_gi_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pot_generator.cpp b/editor/pot_generator.cpp index d57345cac1..4d9efefbd3 100644 --- a/editor/pot_generator.cpp +++ b/editor/pot_generator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pot_generator.h b/editor/pot_generator.h index 61300064ba..2b42c681e5 100644 --- a/editor/pot_generator.h +++ b/editor/pot_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 95a5646013..1644bd7e7f 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/progress_dialog.h b/editor/progress_dialog.h index 3f4b1d2944..880e6bc9d4 100644 --- a/editor/progress_dialog.h +++ b/editor/progress_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 0b748c12b6..9bd8c1e227 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -265,10 +265,25 @@ void ProjectExportDialog::_edit_preset(int p_index) { export_templates_error->hide(); } + export_warning->hide(); export_button->set_disabled(true); get_ok_button()->set_disabled(true); - } else { + if (error != String()) { + Vector<String> items = error.split("\n", false); + error = ""; + for (int i = 0; i < items.size(); i++) { + if (i > 0) { + error += "\n"; + } + error += " - " + items[i]; + } + export_warning->set_text(error); + export_warning->show(); + } else { + export_warning->hide(); + } + export_error->hide(); export_templates_error->hide(); export_button->set_disabled(false); @@ -1247,6 +1262,11 @@ ProjectExportDialog::ProjectExportDialog() { export_error->hide(); export_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); + export_warning = memnew(Label); + main_vb->add_child(export_warning); + export_warning->hide(); + export_warning->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); + export_templates_error = memnew(HBoxContainer); main_vb->add_child(export_templates_error); export_templates_error->hide(); diff --git a/editor/project_export.h b/editor/project_export.h index aeace708b8..af7ec083c4 100644 --- a/editor/project_export.h +++ b/editor/project_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -99,6 +99,7 @@ private: Label *script_key_error; Label *export_error; + Label *export_warning; HBoxContainer *export_templates_error; String default_filename; diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 134f238bb6..08e0f7ae30 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -204,7 +204,7 @@ private: char fname[16384]; ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - if (String(fname).ends_with("project.godot")) { + if (String::utf8(fname).ends_with("project.godot")) { break; } @@ -524,7 +524,7 @@ private: char fname[16384]; unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String name = fname; + String name = String::utf8(fname); if (name.ends_with("project.godot")) { zip_root = name.substr(0, name.rfind("project.godot")); break; @@ -544,7 +544,7 @@ private: char fname[16384]; ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, nullptr, 0, nullptr, 0); - String path = fname; + String path = String::utf8(fname); if (path.is_empty() || path == zip_root || !zip_root.is_subsequence_of(path)) { // @@ -1765,8 +1765,8 @@ void ProjectList::erase_selected_projects(bool p_delete_project_contents) { void ProjectList::_panel_draw(Node *p_hb) { Control *hb = Object::cast_to<Control>(p_hb); - if (is_layout_rtl() && get_v_scrollbar()->is_visible_in_tree()) { - hb->draw_line(Point2(get_v_scrollbar()->get_minimum_size().x, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); + if (is_layout_rtl() && get_v_scroll_bar()->is_visible_in_tree()) { + hb->draw_line(Point2(get_v_scroll_bar()->get_minimum_size().x, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); } else { hb->draw_line(Point2(0, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); } diff --git a/editor/project_manager.h b/editor/project_manager.h index f45d34d461..f99e879664 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index f6975594cb..b710eb2546 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_settings_editor.h b/editor/project_settings_editor.h index f90db02c46..26af73c54e 100644 --- a/editor/project_settings_editor.h +++ b/editor/project_settings_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index abe1bcf9e5..481ff1a781 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -810,7 +810,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: //late init for performance color_picker = memnew(ColorPicker); color_picker->set_deferred_mode(true); - add_child(color_picker); + value_vbox->add_child(color_picker); color_picker->hide(); color_picker->connect("color_changed", callable_mp(this, &CustomPropertyEditor::_color_changed)); diff --git a/editor/property_editor.h b/editor/property_editor.h index 2565c6ee27..9d88aaf26d 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp index 838686ead6..3b0cbfdde9 100644 --- a/editor/property_selector.cpp +++ b/editor/property_selector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_selector.h b/editor/property_selector.h index 37b00e938b..af848b9f18 100644 --- a/editor/property_selector.h +++ b/editor/property_selector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/quick_open.cpp b/editor/quick_open.cpp index b4ab6493ef..118c016c6d 100644 --- a/editor/quick_open.cpp +++ b/editor/quick_open.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/quick_open.h b/editor/quick_open.h index f1787d522b..00edf46622 100644 --- a/editor/quick_open.h +++ b/editor/quick_open.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/register_exporters.h b/editor/register_exporters.h index 5091292b1a..09076af978 100644 --- a/editor/register_exporters.h +++ b/editor/register_exporters.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp index 8cf5a26c55..0e34d200f2 100644 --- a/editor/rename_dialog.cpp +++ b/editor/rename_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/rename_dialog.h b/editor/rename_dialog.h index f383877eb2..7a882dc693 100644 --- a/editor/rename_dialog.h +++ b/editor/rename_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp index f862260212..1a83a61534 100644 --- a/editor/reparent_dialog.cpp +++ b/editor/reparent_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.h b/editor/reparent_dialog.h index 3fcdda7bed..3d76eb3294 100644 --- a/editor/reparent_dialog.h +++ b/editor/reparent_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 6ee9cc84e3..7e72777da1 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -726,7 +726,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { dup->set_name(parent->validate_child_name(dup)); - editor_data->get_undo_redo().add_do_method(add_below_node, "add_sibling", dup); + editor_data->get_undo_redo().add_do_method(add_below_node, "add_sibling", dup, true); for (Node *F : owned) { if (!duplimap.has(F)) { @@ -942,6 +942,18 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { break; } + if (tocopy->get_owner() != scene) { + accept->set_text(TTR("Can't save a branch which is a child of an already instantiated scene.\nTo save this branch into its own scene, open the original scene, right click on this branch, and select \"Save Branch as Scene\".")); + accept->popup_centered(); + break; + } + + if (scene->get_scene_inherited_state().is_valid() && scene->get_scene_inherited_state()->find_node_by_path(scene->get_path_to(tocopy)) >= 0) { + accept->set_text(TTR("Can't save a branch which is part of an inherited scene.\nTo save this branch into its own scene, open the original scene, right click on this branch, and select \"Save Branch as Scene\".")); + accept->popup_centered(); + break; + } + new_scene_from_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE); List<String> extensions; diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index ef89162792..ffaf34cfdc 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,7 +31,6 @@ #ifndef SCENE_TREE_DOCK_H #define SCENE_TREE_DOCK_H -#include "editor/connections_dialog.h" #include "editor/create_dialog.h" #include "editor/editor_data.h" #include "editor/groups_editor.h" diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 4569841af6..c1ceba27b3 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h index b4c40ab17a..7fb1451934 100644 --- a/editor/scene_tree_editor.h +++ b/editor/scene_tree_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index 0e96a1d247..2098fa2c85 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,7 +33,6 @@ #include "core/config/project_settings.h" #include "core/io/file_access.h" #include "core/io/resource_saver.h" -#include "core/object/script_language.h" #include "core/string/string_builder.h" #include "editor/create_dialog.h" #include "editor/editor_node.h" @@ -45,17 +44,16 @@ void ScriptCreateDialog::_notification(int p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { for (int i = 0; i < ScriptServer::get_language_count(); i++) { - String lang = ScriptServer::get_language(i)->get_type(); - Ref<Texture2D> lang_icon = get_theme_icon(lang, SNAME("EditorIcons")); - if (lang_icon.is_valid()) { - language_menu->set_item_icon(i, lang_icon); + Ref<Texture2D> language_icon = get_theme_icon(ScriptServer::get_language(i)->get_type(), SNAME("EditorIcons")); + if (language_icon.is_valid()) { + language_menu->set_item_icon(i, language_icon); } } - String last_lang = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); - if (!last_lang.is_empty()) { + String last_language = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); + if (!last_language.is_empty()) { for (int i = 0; i < language_menu->get_item_count(); i++) { - if (language_menu->get_item_text(i) == last_lang) { + if (language_menu->get_item_text(i) == last_language) { language_menu->select(i); current_language = i; break; @@ -64,6 +62,10 @@ void ScriptCreateDialog::_notification(int p_what) { } else { language_menu->select(default_language); } + if (EditorSettings::get_singleton()->has_meta("script_setup/use_script_templates")) { + is_using_templates = bool(EditorSettings::get_singleton()->get_meta("script_setup/use_script_templates")); + use_templates->set_pressed(is_using_templates); + } path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); parent_browse_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); @@ -114,7 +116,7 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_ built_in_enabled = p_built_in_enabled; load_enabled = p_load_enabled; - _lang_changed(current_language); + _language_changed(current_language); _class_name_changed(""); _path_changed(file_path->get_text()); } @@ -145,8 +147,9 @@ bool ScriptCreateDialog::_validate_class(const String &p_string) { for (int i = 0; i < p_string.length(); i++) { if (i == 0) { + // Cannot start with a number. if (p_string[0] >= '0' && p_string[0] <= '9') { - return false; // no start with number plz + return false; } } @@ -170,6 +173,10 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must return TTR("Filename is empty."); } + if (!p.get_file().get_basename().is_valid_filename()) { + return TTR("Filename is invalid."); + } + p = ProjectSettings::get_singleton()->localize_path(p); if (!p.begins_with("res://")) { return TTR("Path is not local."); @@ -178,11 +185,11 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must DirAccess *d = DirAccess::create(DirAccess::ACCESS_RESOURCES); if (d->change_dir(p.get_base_dir()) != OK) { memdelete(d); - return TTR("Invalid base path."); + return TTR("Base path is invalid."); } memdelete(d); - /* Does file already exist */ + // Check if file exists. DirAccess *f = DirAccess::create(DirAccess::ACCESS_RESOURCES); if (f->dir_exists(p)) { memdelete(f); @@ -193,11 +200,11 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must } memdelete(f); - /* Check file extension */ + // Check file extension. String extension = p.get_extension(); List<String> extensions; - // get all possible extensions for script + // Get all possible extensions for script. for (int l = 0; l < language_menu->get_item_count(); l++) { ScriptServer::get_language(l)->get_recognized_extensions(&extensions); } @@ -207,8 +214,6 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must int index = 0; for (const String &E : extensions) { if (E.nocasecmp_to(extension) == 0) { - //FIXME (?) - changing language this way doesn't update controls, needs rework - //language_menu->select(index); // change Language option by extension found = true; if (E == ScriptServer::get_language(language_menu->get_selected())->get_extension()) { match = true; @@ -222,16 +227,16 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must return TTR("Invalid extension."); } if (!match) { - return TTR("Wrong extension chosen."); + return TTR("Extension doesn't match chosen language."); } - /* Let ScriptLanguage do custom validation */ + // Let ScriptLanguage do custom validation. String path_error = ScriptServer::get_language(language_menu->get_selected())->validate_path(p); if (!path_error.is_empty()) { return path_error; } - /* All checks passed */ + // All checks passed. return ""; } @@ -244,40 +249,49 @@ String ScriptCreateDialog::_get_class_name() const { } void ScriptCreateDialog::_class_name_changed(const String &p_name) { - if (_validate_class(class_name->get_text())) { - is_class_name_valid = true; - } else { - is_class_name_valid = false; - } + is_class_name_valid = _validate_class(class_name->get_text()); _update_dialog(); } void ScriptCreateDialog::_parent_name_changed(const String &p_parent) { - if (_validate_parent(parent_name->get_text())) { - is_parent_name_valid = true; - } else { - is_parent_name_valid = false; - } + is_parent_name_valid = _validate_parent(parent_name->get_text()); _update_dialog(); } void ScriptCreateDialog::_template_changed(int p_template) { - String selected_template = p_template == 0 ? "" : template_menu->get_item_text(p_template); - EditorSettings::get_singleton()->set_project_metadata("script_setup", "last_selected_template", selected_template); - if (p_template == 0) { - //default - script_template = ""; - return; - } - int selected_id = template_menu->get_selected_id(); - - for (int i = 0; i < template_list.size(); i++) { - const ScriptTemplateInfo &sinfo = template_list[i]; - if (sinfo.id == selected_id) { - script_template = sinfo.dir.plus_file(sinfo.name + "." + sinfo.extension); - break; + const ScriptLanguage::ScriptTemplate &sinfo = _get_current_template(); + // Update last used dictionaries + if (is_using_templates && !parent_name->get_text().begins_with("\"res:")) { + if (sinfo.origin == ScriptLanguage::TemplateLocation::TEMPLATE_PROJECT) { + // Save the last used template for this node into the project dictionary. + Dictionary dic_templates_project = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + dic_templates_project[parent_name->get_text()] = sinfo.get_hash(); + EditorSettings::get_singleton()->set_project_metadata("script_setup", "templates_dictionary", dic_templates_project); + } else { + // Save template into to editor dictionary (not a project template). + Dictionary dic_templates; + if (EditorSettings::get_singleton()->has_meta("script_setup/templates_dictionary")) { + dic_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup/templates_dictionary"); + } + dic_templates[parent_name->get_text()] = sinfo.get_hash(); + EditorSettings::get_singleton()->set_meta("script_setup/templates_dictionary", dic_templates); + // Remove template from project dictionary as we last used an editor level template. + Dictionary dic_templates_project = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + if (dic_templates_project.has(parent_name->get_text())) { + dic_templates_project.erase(parent_name->get_text()); + EditorSettings::get_singleton()->set_project_metadata("script_setup", "templates_dictionary", dic_templates_project); + } } } + // Update template label information. + String template_info = String::utf8("• "); + template_info += TTR("Template:"); + template_info += " " + sinfo.name; + if (!sinfo.description.is_empty()) { + template_info += " - " + sinfo.description; + } + template_info_label->set_text(template_info); + template_info_label->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); } void ScriptCreateDialog::ok_pressed() { @@ -287,6 +301,7 @@ void ScriptCreateDialog::ok_pressed() { _load_exist(); } + EditorSettings::get_singleton()->save(); is_new_script_created = true; _update_dialog(); } @@ -295,18 +310,10 @@ void ScriptCreateDialog::_create_new() { String cname_param = _get_class_name(); Ref<Script> scr; - if (!script_template.is_empty()) { - scr = ResourceLoader::load(script_template); - if (scr.is_null()) { - alert->set_text(vformat(TTR("Error loading template '%s'"), script_template)); - alert->popup_centered(); - return; - } - scr = scr->duplicate(); - ScriptServer::get_language(language_menu->get_selected())->make_template(cname_param, parent_name->get_text(), scr); - } else { - scr = ScriptServer::get_language(language_menu->get_selected())->get_template(cname_param, parent_name->get_text()); - } + + const ScriptLanguage::ScriptTemplate sinfo = _get_current_template(); + + scr = ScriptServer::get_language(language_menu->get_selected())->make_template(sinfo.content, cname_param, parent_name->get_text()); if (has_named_classes) { String cname = class_name->get_text(); @@ -345,8 +352,20 @@ void ScriptCreateDialog::_load_exist() { hide(); } -void ScriptCreateDialog::_lang_changed(int l) { - ScriptLanguage *language = ScriptServer::get_language(l); +Vector<String> ScriptCreateDialog::get_hierarchy(String p_object) const { + Vector<String> hierarchy; + hierarchy.append(p_object); + + String parent_class = ClassDB::get_parent_class(p_object); + while (parent_class.is_valid_identifier()) { + hierarchy.append(parent_class); + parent_class = ClassDB::get_parent_class(parent_class); + } + return hierarchy; +} + +void ScriptCreateDialog::_language_changed(int l) { + language = ScriptServer::get_language(l); has_named_classes = language->has_named_classes(); can_inherit_from_file = language->can_inherit_from_file(); @@ -364,13 +383,13 @@ void ScriptCreateDialog::_lang_changed(int l) { } if (extension.length() == 0) { - // add extension if none + // Add extension if none. path += selected_ext; _path_changed(path); } else { - // change extension by selected language + // Change extension by selected language. List<String> extensions; - // get all possible extensions for script + // Get all possible extensions for script. for (int m = 0; m < language_menu->get_item_count(); m++) { ScriptServer::get_language(m)->get_recognized_extensions(&extensions); } @@ -389,123 +408,12 @@ void ScriptCreateDialog::_lang_changed(int l) { } file_path->set_text(path); - bool use_templates = language->is_using_templates(); - template_menu->set_disabled(!use_templates); - template_menu->clear(); - - if (use_templates) { - _update_script_templates(language->get_extension()); - - String last_lang = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); - String last_template = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_template", ""); - - template_menu->add_item(TTR("Default")); - - ScriptTemplateInfo *templates = template_list.ptrw(); - - Vector<String> origin_names; - origin_names.push_back(TTR("Project")); - origin_names.push_back(TTR("Editor")); - int cur_origin = -1; - - // Populate script template items previously sorted and now grouped by origin - for (int i = 0; i < template_list.size(); i++) { - if (int(templates[i].origin) != cur_origin) { - template_menu->add_separator(); - - String origin_name = origin_names[templates[i].origin]; - - int last_index = template_menu->get_item_count() - 1; - template_menu->set_item_text(last_index, origin_name); - - cur_origin = templates[i].origin; - } - String item_name = templates[i].name.capitalize(); - template_menu->add_item(item_name); - - int new_id = template_menu->get_item_count() - 1; - templates[i].id = new_id; - } - // Disable overridden - for (const KeyValue<String, Vector<int>> &E : template_overrides) { - const Vector<int> &overrides = E.value; - - if (overrides.size() == 1) { - continue; // doesn't override anything - } - const ScriptTemplateInfo &extended = template_list[overrides[0]]; - - StringBuilder override_info; - override_info += TTR("Overrides"); - override_info += ": "; - - for (int i = 1; i < overrides.size(); i++) { - const ScriptTemplateInfo &overridden = template_list[overrides[i]]; - - int disable_index = template_menu->get_item_index(overridden.id); - template_menu->set_item_disabled(disable_index, true); - - override_info += origin_names[overridden.origin]; - if (i < overrides.size() - 1) { - override_info += ", "; - } - } - template_menu->set_item_icon(extended.id, get_theme_icon(SNAME("Override"), SNAME("EditorIcons"))); - template_menu->get_popup()->set_item_tooltip(extended.id, override_info.as_string()); - } - // Reselect last selected template - for (int i = 0; i < template_menu->get_item_count(); i++) { - const String &ti = template_menu->get_item_text(i); - if (language_menu->get_item_text(language_menu->get_selected()) == last_lang && last_template == ti) { - template_menu->select(i); - break; - } - } - } else { - template_menu->add_item(TTR("N/A")); - script_template = ""; - } - - _template_changed(template_menu->get_selected()); EditorSettings::get_singleton()->set_project_metadata("script_setup", "last_selected_language", language_menu->get_item_text(language_menu->get_selected())); _parent_name_changed(parent_name->get_text()); _update_dialog(); } -void ScriptCreateDialog::_update_script_templates(const String &p_extension) { - template_list.clear(); - template_overrides.clear(); - - Vector<String> dirs; - - // Ordered from local to global for correct override mechanism - dirs.push_back(EditorSettings::get_singleton()->get_project_script_templates_dir()); - dirs.push_back(EditorSettings::get_singleton()->get_script_templates_dir()); - - for (int i = 0; i < dirs.size(); i++) { - Vector<String> list = EditorSettings::get_singleton()->get_script_templates(p_extension, dirs[i]); - - for (int j = 0; j < list.size(); j++) { - ScriptTemplateInfo sinfo; - sinfo.origin = ScriptOrigin(i); - sinfo.dir = dirs[i]; - sinfo.name = list[j]; - sinfo.extension = p_extension; - template_list.push_back(sinfo); - - if (!template_overrides.has(sinfo.name)) { - Vector<int> overrides; - overrides.push_back(template_list.size() - 1); // first one - template_overrides.insert(sinfo.name, overrides); - } else { - Vector<int> &overrides = template_overrides[sinfo.name]; - overrides.push_back(template_list.size() - 1); - } - } - } -} - void ScriptCreateDialog::_built_in_pressed() { if (internal->is_pressed()) { is_built_in = true; @@ -517,6 +425,12 @@ void ScriptCreateDialog::_built_in_pressed() { _update_dialog(); } +void ScriptCreateDialog::_use_template_pressed() { + is_using_templates = use_templates->is_pressed(); + EditorSettings::get_singleton()->set_meta("script_setup/use_script_templates", is_using_templates); + _update_dialog(); +} + void ScriptCreateDialog::_browse_path(bool browse_parent, bool p_save) { is_browsing_parent = browse_parent; @@ -545,16 +459,16 @@ void ScriptCreateDialog::_browse_path(bool browse_parent, bool p_save) { } void ScriptCreateDialog::_file_selected(const String &p_file) { - String p = ProjectSettings::get_singleton()->localize_path(p_file); + String path = ProjectSettings::get_singleton()->localize_path(p_file); if (is_browsing_parent) { - parent_name->set_text("\"" + p + "\""); + parent_name->set_text("\"" + path + "\""); _parent_name_changed(parent_name->get_text()); } else { - file_path->set_text(p); - _path_changed(p); + file_path->set_text(path); + _path_changed(path); - String filename = p.get_file().get_basename(); - int select_start = p.rfind(filename); + String filename = path.get_file().get_basename(); + int select_start = path.rfind(filename); file_path->select(select_start, select_start + filename.length()); file_path->set_caret_column(select_start + filename.length()); file_path->grab_focus(); @@ -588,7 +502,7 @@ void ScriptCreateDialog::_path_changed(const String &p_path) { return; } - /* Does file already exist */ + // Check if file exists. DirAccess *f = DirAccess::create(DirAccess::ACCESS_RESOURCES); String p = ProjectSettings::get_singleton()->localize_path(p_path.strip_edges()); if (f->file_exists(p)) { @@ -623,9 +537,98 @@ void ScriptCreateDialog::_msg_path_valid(bool valid, const String &p_msg) { } } -void ScriptCreateDialog::_update_dialog() { - /* "Add Script Dialog" GUI logic and script checks. */ +void ScriptCreateDialog::_update_template_menu() { + bool is_language_using_templates = language->is_using_templates(); + template_menu->set_disabled(false); + template_menu->clear(); + template_list.clear(); + if (is_language_using_templates) { + // Get the latest templates used for each type of node from project settings then global settings. + Dictionary last_local_templates = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + Dictionary last_global_templates; + if (EditorSettings::get_singleton()->has_meta("script_setup/templates_dictionary")) { + last_global_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup/templates_dictionary"); + } + String inherits_base_type = parent_name->get_text(); + + // If it inherits from a script, select Object instead. + if (inherits_base_type[0] == '"') { + inherits_base_type = "Object"; + } + + // Get all ancestor node for selected base node. + // There templates will also fit the base node. + Vector<String> hierarchy = get_hierarchy(inherits_base_type); + int last_used_template = -1; + int preselected_template = -1; + int previous_ancestor_level = -1; + + // Templates can be stored in tree different locations. + Vector<ScriptLanguage::TemplateLocation> template_locations; + template_locations.append(ScriptLanguage::TEMPLATE_PROJECT); + template_locations.append(ScriptLanguage::TEMPLATE_EDITOR); + template_locations.append(ScriptLanguage::TEMPLATE_BUILT_IN); + + for (const ScriptLanguage::TemplateLocation &template_location : template_locations) { + String display_name = _get_script_origin_label(template_location); + bool separator = false; + int ancestor_level = 0; + for (const String ¤t_node : hierarchy) { + Vector<ScriptLanguage::ScriptTemplate> templates_found; + if (template_location == ScriptLanguage::TEMPLATE_BUILT_IN) { + templates_found = language->get_built_in_templates(current_node); + } else { + String template_directory; + if (template_location == ScriptLanguage::TEMPLATE_PROJECT) { + template_directory = EditorSettings::get_singleton()->get_project_script_templates_dir(); + } else { + template_directory = EditorSettings::get_singleton()->get_script_templates_dir(); + } + templates_found = _get_user_templates(language, current_node, template_directory, template_location); + } + if (!templates_found.is_empty()) { + if (!separator) { + template_menu->add_separator(); + template_menu->set_item_text(template_menu->get_item_count() - 1, display_name); + separator = true; + } + for (ScriptLanguage::ScriptTemplate &t : templates_found) { + template_menu->add_item(t.inherit + ": " + t.name); + int id = template_menu->get_item_count() - 1; + // Check if this template should be preselected if node isn't in the last used dictionary. + if (ancestor_level < previous_ancestor_level || previous_ancestor_level == -1) { + previous_ancestor_level = ancestor_level; + preselected_template = id; + } + // Check for last used template for this node in project settings then in global settings. + if (last_local_templates.has(parent_name->get_text()) && t.get_hash() == String(last_local_templates[parent_name->get_text()])) { + last_used_template = id; + } else if (last_used_template == -1 && last_global_templates.has(parent_name->get_text()) && t.get_hash() == String(last_global_templates[parent_name->get_text()])) { + last_used_template = id; + } + t.id = id; + template_list.push_back(t); + String icon = has_theme_icon(t.inherit, SNAME("EditorIcons")) ? t.inherit : "Object"; + template_menu->set_item_icon(id, get_theme_icon(icon, SNAME("EditorIcons"))); + } + } + ancestor_level++; + } + } + + if (last_used_template != -1) { + template_menu->select(last_used_template); + } else if (preselected_template != -1) { + template_menu->select(preselected_template); + } + } + _template_changed(template_menu->get_selected()); +} + +void ScriptCreateDialog::_update_dialog() { + // "Add Script Dialog" GUI logic and script checks. + _update_template_menu(); bool script_ok = true; // Is script path/name valid (order from top to bottom)? @@ -697,41 +700,51 @@ void ScriptCreateDialog::_update_dialog() { // This warning isn't relevant if the script is built-in. script_name_warning_label->set_visible(!is_built_in && _get_class_name() == parent_name->get_text()); - if (is_built_in) { - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - _msg_path_valid(true, TTR("Built-in script (into scene file).")); - } else if (is_new_script_created) { - // New script created. - - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - if (is_path_valid) { + bool is_new_file = is_built_in || is_new_script_created; + + parent_name->set_editable(is_new_file); + parent_search_button->set_disabled(!is_new_file); + parent_browse_button->set_disabled(!is_new_file || !can_inherit_from_file); + template_inactive_message = ""; + String button_text = is_new_file ? TTR("Create") : TTR("Load"); + get_ok_button()->set_text(button_text); + + if (is_new_file) { + if (is_built_in) { + _msg_path_valid(true, TTR("Built-in script (into scene file).")); + } + if (is_new_script_created && is_path_valid) { _msg_path_valid(true, TTR("Will create a new script file.")); } - } else if (load_enabled) { - // Script loaded. - - get_ok_button()->set_text(TTR("Load")); - parent_name->set_editable(false); - parent_search_button->set_disabled(true); - parent_browse_button->set_disabled(true); - if (is_path_valid) { - _msg_path_valid(true, TTR("Will load an existing script file.")); + } else { + if (load_enabled) { + template_inactive_message = TTR("Using existing script file."); + if (is_path_valid) { + _msg_path_valid(true, TTR("Will load an existing script file.")); + } + } else { + template_inactive_message = TTR("Using existing script file."); + _msg_path_valid(false, TTR("Script file already exists.")); + script_ok = false; + } + } + + // Show templates list if needed. + if (is_using_templates) { + // Check if at least one suitable template has been found. + if (template_menu->get_item_count() == 0 && template_inactive_message.is_empty()) { + template_inactive_message = TTR("No suitable template."); } } else { - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - _msg_path_valid(false, TTR("Script file already exists.")); + template_inactive_message = TTR("Empty"); + } - script_ok = false; + if (!template_inactive_message.is_empty()) { + template_menu->set_disabled(true); + template_menu->clear(); + template_menu->add_item(template_inactive_message); } + template_info_label->set_visible(!template_menu->is_disabled()); get_ok_button()->set_disabled(!script_ok); @@ -745,6 +758,122 @@ void ScriptCreateDialog::_update_dialog() { } } +ScriptLanguage::ScriptTemplate ScriptCreateDialog::_get_current_template() const { + int selected_id = template_menu->get_selected_id(); + for (const ScriptLanguage::ScriptTemplate &t : template_list) { + if (is_using_templates) { + if (t.id == selected_id) { + return t; + } + } else { + // Using empty built-in template if templates are disabled. + if (t.origin == ScriptLanguage::TemplateLocation::TEMPLATE_BUILT_IN && t.name == "Empty") { + return t; + } + } + } + return ScriptLanguage::ScriptTemplate(); +} + +Vector<ScriptLanguage::ScriptTemplate> ScriptCreateDialog::_get_user_templates(const ScriptLanguage *language, const StringName &p_object, const String &p_dir, const ScriptLanguage::TemplateLocation &p_origin) const { + Vector<ScriptLanguage::ScriptTemplate> user_templates; + String extension = language->get_extension(); + + String dir_path = p_dir.plus_file(p_object); + + DirAccess *d = DirAccess::open(dir_path); + if (d) { + d->list_dir_begin(); + String file = d->get_next(); + while (file != String()) { + if (file.get_extension() == extension) { + user_templates.append(_parse_template(language, dir_path, file, p_origin, p_object)); + } + file = d->get_next(); + } + d->list_dir_end(); + memdelete(d); + } + return user_templates; +} + +ScriptLanguage::ScriptTemplate ScriptCreateDialog::_parse_template(const ScriptLanguage *language, const String &p_path, const String &p_filename, const ScriptLanguage::TemplateLocation &p_origin, const String &p_inherits) const { + ScriptLanguage::ScriptTemplate script_template = ScriptLanguage::ScriptTemplate(); + script_template.origin = p_origin; + script_template.inherit = p_inherits; + String space_indent = " "; + // Get meta delimiter + String meta_delimiter = String(); + List<String> comment_delimiters; + language->get_comment_delimiters(&comment_delimiters); + for (const String &script_delimiter : comment_delimiters) { + if (script_delimiter.find(" ") == -1) { + meta_delimiter = script_delimiter; + break; + } + } + String meta_prefix = meta_delimiter + " meta-"; + + // Parse file for meta-information and script content + Error err; + FileAccess *file = FileAccess::open(p_path.plus_file(p_filename), FileAccess::READ, &err); + if (!err) { + while (!file->eof_reached()) { + String line = file->get_line(); + if (line.begins_with(meta_prefix)) { + // Store meta information + line = line.substr(meta_prefix.length(), -1); + if (line.begins_with("name")) { + script_template.name = line.substr(5, -1).strip_edges(); + } + if (line.begins_with("description")) { + script_template.description = line.substr(12, -1).strip_edges(); + } + if (line.begins_with("space-indent")) { + String indent_value = line.substr(17, -1).strip_edges(); + if (indent_value.is_valid_int()) { + space_indent = ""; + for (int i = 0; i < indent_value.to_int(); i++) { + space_indent += " "; + } + } else { + WARN_PRINT(vformat("Template meta-use_space_indent need to be a valid integer value. Found %s.", indent_value)); + } + } + } else { + // Store script + if (space_indent != "") { + line = line.replace(space_indent, "_TS_"); + } + script_template.content += line.replace("\t", "_TS_") + "\n"; + } + } + file->close(); + memdelete(file); + } + + script_template.content = script_template.content.lstrip("\n"); + + // Get name from file name if no name in meta information + if (script_template.name == String()) { + script_template.name = p_filename.get_basename().replace("_", " ").capitalize(); + } + + return script_template; +} + +String ScriptCreateDialog::_get_script_origin_label(const ScriptLanguage::TemplateLocation &p_origin) const { + switch (p_origin) { + case ScriptLanguage::TEMPLATE_BUILT_IN: + return TTR("Built-in"); + case ScriptLanguage::TEMPLATE_EDITOR: + return TTR("Editor"); + case ScriptLanguage::TEMPLATE_PROJECT: + return TTR("Project"); + } + return ""; +} + void ScriptCreateDialog::_bind_methods() { ClassDB::bind_method(D_METHOD("config", "inherits", "path", "built_in_enabled", "load_enabled"), &ScriptCreateDialog::config, DEFVAL(true), DEFVAL(true)); @@ -757,7 +886,7 @@ ScriptCreateDialog::ScriptCreateDialog() { GridContainer *gc = memnew(GridContainer); gc->set_columns(2); - /* Error Messages Field */ + /* Information Messages Field */ VBoxContainer *vb = memnew(VBoxContainer); @@ -782,6 +911,10 @@ ScriptCreateDialog::ScriptCreateDialog() { script_name_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); script_name_warning_label->hide(); + template_info_label = memnew(Label); + vb->add_child(template_info_label); + template_info_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); + status_panel = memnew(PanelContainer); status_panel->set_h_size_flags(Control::SIZE_FILL); status_panel->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -801,7 +934,7 @@ ScriptCreateDialog::ScriptCreateDialog() { /* Language */ language_menu = memnew(OptionButton); - language_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE); + language_menu->set_custom_minimum_size(Size2(350, 0) * EDSCALE); language_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL); gc->add_child(memnew(Label(TTR("Language:")))); gc->add_child(language_menu); @@ -819,7 +952,7 @@ ScriptCreateDialog::ScriptCreateDialog() { } current_language = default_language; - language_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_lang_changed)); + language_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_language_changed)); /* Inherits */ @@ -851,10 +984,24 @@ ScriptCreateDialog::ScriptCreateDialog() { /* Templates */ - template_menu = memnew(OptionButton); + is_using_templates = true; gc->add_child(memnew(Label(TTR("Template:")))); - gc->add_child(template_menu); + HBoxContainer *template_hb = memnew(HBoxContainer); + template_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL); + + use_templates = memnew(CheckBox); + use_templates->set_pressed(is_using_templates); + use_templates->connect("pressed", callable_mp(this, &ScriptCreateDialog::_use_template_pressed)); + template_hb->add_child(use_templates); + + template_inactive_message = ""; + + template_menu = memnew(OptionButton); + template_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL); template_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_template_changed)); + template_hb->add_child(template_menu); + + gc->add_child(template_hb); /* Built-in Script */ diff --git a/editor/script_create_dialog.h b/editor/script_create_dialog.h index dba798eea7..67d30e21fb 100644 --- a/editor/script_create_dialog.h +++ b/editor/script_create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #ifndef SCRIPT_CREATE_DIALOG_H #define SCRIPT_CREATE_DIALOG_H +#include "core/object/script_language.h" #include "editor/editor_file_dialog.h" #include "editor/editor_settings.h" #include "scene/gui/check_box.h" @@ -50,6 +51,7 @@ class ScriptCreateDialog : public ConfirmationDialog { Label *path_error_label; Label *builtin_warning_label; Label *script_name_warning_label; + Label *template_info_label; PanelContainer *status_panel; LineEdit *parent_name; Button *parent_browse_button; @@ -61,12 +63,14 @@ class ScriptCreateDialog : public ConfirmationDialog { Button *path_button; EditorFileDialog *file_browse; CheckBox *internal; + CheckBox *use_templates; VBoxContainer *path_vb; AcceptDialog *alert; CreateDialog *select_class; bool path_valid; bool create_new; bool is_browsing_parent; + String template_inactive_message; String initial_bp; bool is_new_script_created; bool is_path_valid; @@ -76,6 +80,7 @@ class ScriptCreateDialog : public ConfirmationDialog { bool is_parent_name_valid; bool is_class_name_valid; bool is_built_in; + bool is_using_templates; bool built_in_enabled; bool load_enabled; int current_language; @@ -85,23 +90,8 @@ class ScriptCreateDialog : public ConfirmationDialog { Control *path_controls[2]; Control *name_controls[2]; - enum ScriptOrigin { - SCRIPT_ORIGIN_PROJECT, - SCRIPT_ORIGIN_EDITOR, - }; - struct ScriptTemplateInfo { - int id = 0; - ScriptOrigin origin = ScriptOrigin::SCRIPT_ORIGIN_EDITOR; - String dir; - String name; - String extension; - }; - - String script_template; - Vector<ScriptTemplateInfo> template_list; - Map<String, Vector<int>> template_overrides; // name : indices - - void _update_script_templates(const String &p_extension); + Vector<ScriptLanguage::ScriptTemplate> template_list; + ScriptLanguage *language; String base_type; @@ -109,8 +99,9 @@ class ScriptCreateDialog : public ConfirmationDialog { bool _can_be_built_in(); void _path_changed(const String &p_path = String()); void _path_submitted(const String &p_path = String()); - void _lang_changed(int l = 0); + void _language_changed(int l = 0); void _built_in_pressed(); + void _use_template_pressed(); bool _validate_parent(const String &p_string); bool _validate_class(const String &p_string); String _validate_path(const String &p_path, bool p_file_must_exist); @@ -125,9 +116,15 @@ class ScriptCreateDialog : public ConfirmationDialog { virtual void ok_pressed() override; void _create_new(); void _load_exist(); + Vector<String> get_hierarchy(String p_object) const; void _msg_script_valid(bool valid, const String &p_msg = String()); void _msg_path_valid(bool valid, const String &p_msg = String()); + void _update_template_menu(); void _update_dialog(); + ScriptLanguage::ScriptTemplate _get_current_template() const; + Vector<ScriptLanguage::ScriptTemplate> _get_user_templates(const ScriptLanguage *language, const StringName &p_object, const String &p_dir, const ScriptLanguage::TemplateLocation &p_origin) const; + ScriptLanguage::ScriptTemplate _parse_template(const ScriptLanguage *language, const String &p_path, const String &p_filename, const ScriptLanguage::TemplateLocation &p_origin, const String &p_inherits) const; + String _get_script_origin_label(const ScriptLanguage::TemplateLocation &p_origin) const; protected: void _notification(int p_what); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index 8e12cb76ef..71edeefd10 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/settings_config_dialog.h b/editor/settings_config_dialog.h index 7317a014b2..c3dfd736d5 100644 --- a/editor/settings_config_dialog.h +++ b/editor/settings_config_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp index 302f7f78c5..239860c9ab 100644 --- a/editor/shader_create_dialog.cpp +++ b/editor/shader_create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/shader_create_dialog.h b/editor/shader_create_dialog.h index cd20897ddb..be0fef211c 100644 --- a/editor/shader_create_dialog.h +++ b/editor/shader_create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/shader_globals_editor.cpp b/editor/shader_globals_editor.cpp index 31c1dc85a8..f97ffcae65 100644 --- a/editor/shader_globals_editor.cpp +++ b/editor/shader_globals_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/shader_globals_editor.h b/editor/shader_globals_editor.h index 84ab6ac063..efec9f4219 100644 --- a/editor/shader_globals_editor.h +++ b/editor/shader_globals_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/template_builders.py b/editor/template_builders.py new file mode 100644 index 0000000000..efed567d46 --- /dev/null +++ b/editor/template_builders.py @@ -0,0 +1,95 @@ +"""Functions used to generate source files during build time +All such functions are invoked in a subprocess on Windows to prevent build flakiness. +""" + +import os +from io import StringIO +from platform_methods import subprocess_main + + +def parse_template(inherits, source, delimiter): + script_template = { + "inherits": inherits, + "name": "", + "description": "", + "version": "", + "script": "", + "space-indent": "4", + } + meta_prefix = delimiter + " meta-" + meta = ["name", "description", "version", "space-indent"] + + with open(source) as f: + lines = f.readlines() + for line in lines: + if line.startswith(meta_prefix): + line = line[len(meta_prefix) :] + for m in meta: + if line.startswith(m): + strip_lenght = len(m) + 1 + script_template[m] = line[strip_lenght:].strip() + else: + script_template["script"] += line + if script_template["space-indent"] != "": + indent = " " * int(script_template["space-indent"]) + script_template["script"] = script_template["script"].replace(indent, "_TS_") + if script_template["name"] == "": + script_template["name"] = os.path.splitext(os.path.basename(source))[0].replace("_", " ").title() + script_template["script"] = ( + script_template["script"].replace('"', '\\"').lstrip().replace("\n", "\\n").replace("\t", "_TS_") + ) + return ( + '{ String("' + + script_template["inherits"] + + '"), String("' + + script_template["name"] + + '"), String("' + + script_template["description"] + + '"), String("' + + script_template["script"] + + '")' + + " },\n" + ) + + +def make_templates(target, source, env): + dst = target[0] + s = StringIO() + s.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n\n") + s.write("#ifndef _CODE_TEMPLATES_H\n") + s.write("#define _CODE_TEMPLATES_H\n\n") + s.write('#include "core/object/object.h"\n') + s.write('#include "core/object/script_language.h"\n') + + delimiter = "#" # GDScript single line comment delimiter by default. + if source: + ext = os.path.splitext(source[0])[1] + if ext == ".cs": + delimiter = "//" + + parsed_template_string = "" + number_of_templates = 0 + + for filepath in source: + node_name = os.path.basename(os.path.dirname(filepath)) + parsed_template = parse_template(node_name, filepath, delimiter) + parsed_template_string += "\t" + parsed_template + number_of_templates += 1 + + s.write("\nstatic const int TEMPLATES_ARRAY_SIZE = " + str(number_of_templates) + ";\n") + s.write("\nstatic const struct ScriptLanguage::ScriptTemplate TEMPLATES[" + str(number_of_templates) + "] = {\n") + + s.write(parsed_template_string) + + s.write("};\n") + + s.write("\n#endif\n") + + with open(dst, "w") as f: + f.write(s.getvalue()) + + s.close() + + +if __name__ == "__main__": + subprocess_main(globals()) diff --git a/editor/translations/af.po b/editor/translations/af.po index b2224828e7..fb80e360f9 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -1,6 +1,6 @@ # Afrikaans translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ray West <the.raxar@gmail.com>, 2017. # Julius Stopforth <jjstopforth@gmail.com>, 2018. @@ -331,6 +331,10 @@ msgid "Duplicate Key(s)" msgstr "Anim Dupliseer Sleutels" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "Anim Skrap Sleutels" @@ -505,6 +509,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Skaal Sleutels" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1524,6 +1533,10 @@ msgid "Invalid name." msgstr "Ongeldige naam." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Geldige karakters:" @@ -1634,7 +1647,9 @@ msgstr "Toneel word opgedateer..." msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1656,6 +1671,7 @@ msgstr "Skep Vouer" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Naam:" @@ -2161,7 +2177,7 @@ msgid "Properties" msgstr "Eienskappe" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2318,6 +2334,19 @@ msgstr "Eienskappe" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2327,6 +2356,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Eienskappe" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Eienskappe" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Eienskappe" + #: editor/editor_log.cpp msgid "Output:" msgstr "Afvoer:" @@ -3079,6 +3131,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4183,6 +4249,11 @@ msgstr "Vind" msgid "Find:" msgstr "Vind" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Vervang" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4207,6 +4278,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Vervang Alles" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4219,7 +4295,7 @@ msgstr "Vervang" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Vervang Alles" #: editor/find_in_files.cpp @@ -4447,6 +4523,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5945,6 +6027,11 @@ msgstr "Skrap gekose lêers?" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Skrap gekose lêers?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Verwyder geselekteerde baan." @@ -5974,6 +6061,10 @@ msgid "Scale Mode" msgstr "Wissel Modus" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6069,20 +6160,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Skrap" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Dupliseer Seleksie" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Verwyder Seleksie" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Verwyder Seleksie" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "EnkelHouer" @@ -7752,6 +7867,11 @@ msgid "Find in Files..." msgstr "Vind" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Vind" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8283,6 +8403,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Laai Verstek" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9049,6 +9182,28 @@ msgstr "Lede" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Anim Voeg Baan By" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Eienskappe" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim Baan Hernoem" @@ -9073,20 +9228,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Anim Voeg Baan By" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Nodus Naam:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Laai Verstek" @@ -9103,6 +9244,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Lede" @@ -11542,11 +11687,6 @@ msgid "Batch Rename" msgstr "Pas Letterkas" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Vervang" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11829,6 +11969,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12795,63 +12949,68 @@ msgstr "Alle Seleksie" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13834,6 +13993,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14040,16 +14209,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14448,10 +14623,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 47d1750765..406f882df8 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -1,6 +1,6 @@ # Arabic translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Adel <dragonhunter250@gmail.com>, 2018. # athomield <athomield@hotmail.com>, 2017. @@ -51,7 +51,7 @@ # Kareem Abduljaleel <karemjaleel34@gmail.com>, 2021. # ILG - Game <moegypt277@gmail.com>, 2021. # Hatim Jamal <hatimjamal8@gmail.com>, 2021. -# HASSAN GAMER - حسن جيمر <gamerhassan55@gmail.com>, 2021. +# HASSAN GAMER - حسن جيمر <gamerhassan55@gmail.com>, 2021, 2022. # abubakrAlsaab <madeinsudan19@gmail.com>, 2021. # Hafid Talbi <atalbiie@gmail.com>, 2021. # Hareth Mohammed <harethpy@gmail.com>, 2021. @@ -62,8 +62,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-14 15:28+0000\n" -"Last-Translator: Spirit <i8bou3@gmail.com>\n" +"PO-Revision-Date: 2022-01-03 03:54+0000\n" +"Last-Translator: HASSAN GAMER - حسن جيمر <gamerhassan55@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -72,7 +72,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -374,6 +374,11 @@ msgid "Duplicate Key(s)" msgstr "مفتاح (مفاتيح) المكررة" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "إضافة %d إطار(ات)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "مفتاح الحذف()" @@ -540,6 +545,11 @@ msgid "" msgstr "هذا الخيار لا يعمل لتعديل منحنى بيزر (Bezier), لأنه فقط مقطع واحد." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "مفتاح تكبير حركة" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1517,6 +1527,10 @@ msgid "Invalid name." msgstr "اسم غير صالح." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "الأحرف الصالحة:" @@ -1621,7 +1635,9 @@ msgstr "يُحدث المشهد..." msgid "[empty]" msgstr "[فارغ]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[غير محفوظ]" @@ -1642,6 +1658,7 @@ msgstr "أنشئ مجلد" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "الأسم:" @@ -2133,7 +2150,8 @@ msgid "Properties" msgstr "خاصيات" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "يتجاوز:" #: editor/editor_help.cpp @@ -2142,7 +2160,7 @@ msgstr "الافتراضي:" #: editor/editor_help.cpp msgid "Methods" -msgstr "الطُرق" +msgstr "طرق" #: editor/editor_help.cpp msgid "Theme Properties" @@ -2155,7 +2173,7 @@ msgstr "اللون" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" -msgstr "الثوابت" +msgstr "ثوابت" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -2277,6 +2295,20 @@ msgstr "خاصية الموضوع (Theme)" msgid "Property:" msgstr "خاصية:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(القيمة)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2286,6 +2318,29 @@ msgstr "تحديد %s" msgid "Set Multiple:" msgstr "تحديد التكرار:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "خاصيات" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "خاصيات" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "نسخ مسار النص البرمجي" + #: editor/editor_log.cpp msgid "Output:" msgstr "المُخرجات:" @@ -3096,6 +3151,20 @@ msgstr "" "المشروع المشغل." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "مزامنة تغييرات المشهد" @@ -4233,6 +4302,10 @@ msgstr "إبحث في الملفات" msgid "Find:" msgstr "إيجاد:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "إستبدال:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "مجلد:" @@ -4258,6 +4331,11 @@ msgstr "ابحث..." msgid "Replace..." msgstr "استبدال..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "إستبدال الكل" + #: editor/find_in_files.cpp msgid "Find: " msgstr "إيجاد: " @@ -4267,8 +4345,9 @@ msgid "Replace: " msgstr "إستبدال: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "إستبدال الكل (بلا تراجع)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "إستبدال الكل" #: editor/find_in_files.cpp msgid "Searching..." @@ -4481,6 +4560,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "تحذير: هناك مُلحقات تستخدم هذا المورد، ربما سيتوقف تحميلها بشكل صحيح." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "فشل تحميل المورد." @@ -5959,6 +6044,11 @@ msgstr "Alt+سحب: تحريك" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+سحب: تحريك" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "ازالة الكائن المحدد او الإنتقال المحدد." @@ -5990,6 +6080,10 @@ msgid "Scale Mode" msgstr "وضع التحجيم" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6086,20 +6180,44 @@ msgstr "قفل العنصر المحدد في هذا المكان (لا يمكن #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "حُدد القفل" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "إلغاء القفل عن هذا العنصر (يمكن تحريكه الأن)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "حُدد إلغاء القفل" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "تأكد من أن الطفل للعنصر غير قابل للتحديد." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "حُدد التجميع" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "إرجاع مقدرة تحديد الطفل للعنصر." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "حُدد إلغاء التجميع" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "إعدادات الهكيل العظمي" @@ -7761,6 +7879,11 @@ msgid "Find in Files..." msgstr "جِد في الملفات..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "استبدال..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "مساعدة سياقية" @@ -8312,6 +8435,19 @@ msgid "Toggle Freelook" msgstr "إلغاء/تفعيل وضع الرؤية الحُرة" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "إعادة التعيين إلى الافتراضي" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "التحوّل" @@ -9094,6 +9230,29 @@ msgid "Another Theme" msgstr "استيراد الموضوع Theme" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "إضافة نوع" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "الملفات المتوافرة:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "اسم الملف فارغ." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "هل أنت واثق من فتح أكثر من مشروع؟" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Confirm Item Rename" msgstr "تغيير إسم مسار التحريك" @@ -9120,19 +9279,6 @@ msgstr "" "المشابهة في جميع صناديق المظهر من هذا النوع." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "إضافة نوع" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "إضافة نوع للعنصر" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "نوع العُقدة" - -#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Show Default" msgstr "تحميل الإفتراضي" @@ -9151,6 +9297,10 @@ msgid "Override all default type items." msgstr "تجاوز جميع أنواع العناصر الافتراضية." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "إضافة نوع للعنصر" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "الموضوع" @@ -11681,10 +11831,6 @@ msgid "Batch Rename" msgstr "إعادة تسمية الدفعة" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "إستبدال:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "بادئة:" @@ -11971,6 +12117,20 @@ msgstr "" "مشهد جديد موروث… بدلاً عن ذلك." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "احفظ المشهد الجديد ك..." @@ -12944,63 +13104,69 @@ msgstr "تعبئة المُحدد" msgid "End of inner exception stack trace" msgstr "نهاية تتبع مكدس الاستثناء الداخلي" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"يجب تعيين مصدر مجسم-التنقل (NavigationMesh) أو إنشاؤه حتى تعمل هذه العقدة." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "اطبخ شبكة ملاحة" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "إخلاء ميش المحاور." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "يُجهز الإعدادات..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "يحسب حجم الشبكة..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "إنشاء مجال الإرتفاع..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "تعليم مثلثات التحرك..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "يبني مجال الإرتفاع المدمج..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "تقويض منطقة السير..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "تجزئة..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "إنشاء المحيط..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "إنشاء نموذج الميش..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "يحول إلي ميش التنقل المحلي..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "منشئ تثبيت ميش التنقل:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "توزيع الأشكال الهندسية..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "تم!" @@ -14065,6 +14231,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "المُضلع المُغلق لهذا الغَلق فارغ. الرجاء رسم مُضلع." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14338,12 +14514,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "بقعة الضوء بزاوية أكبر من 90 درجة لا يمكنها إلقاء الظلال." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"يجب تعيين مصدر مجسم-التنقل (NavigationMesh) أو إنشاؤه حتى تعمل هذه العقدة." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14351,6 +14526,12 @@ msgstr "" "يجب أن يكون نموذج-مجسم-التنقل (NavigationMeshInstance) تابعًا أو حفيدًا لعقدة " "التنقل (Navigation node). انه يوفر فقط بيانات التنقل." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "لم يتم تعيين أي شكل." @@ -14795,10 +14976,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "تكليفها لوظيفة برمجية." diff --git a/editor/translations/az.po b/editor/translations/az.po index ff29feec0c..bc7f45ca0f 100644 --- a/editor/translations/az.po +++ b/editor/translations/az.po @@ -1,6 +1,6 @@ # Azerbaijani translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Jafar Tarverdiyev <cefertarverdiyevv@gmail.com>, 2021. @@ -341,6 +341,10 @@ msgid "Duplicate Key(s)" msgstr "Açar(lar)ı çoxalt" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Açar(lar)ı sil" @@ -518,6 +522,11 @@ msgstr "Bu seçim Bezier redaktəsi üçün işləmir, çünki yalnız bir izlid #: editor/animation_track_editor.cpp #, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animasya Açarlarını Ölçülə" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1514,6 +1523,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1618,7 +1631,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1639,6 +1654,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2112,7 +2128,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2248,6 +2264,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2257,6 +2286,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Animasiya xüsusiyyətləri." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Animasiya xüsusiyyətləri." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Animasiya xüsusiyyətləri." + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2995,6 +3047,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4056,6 +4122,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4079,6 +4149,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Hamısını Əvəz Et" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4088,8 +4163,9 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Hamısını Əvəz Et" #: editor/find_in_files.cpp msgid "Searching..." @@ -4302,6 +4378,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5726,6 +5808,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5754,6 +5840,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5848,20 +5938,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Seçili açar(lar)-ı çoxalt" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Seçili açar(lar)-ı çoxalt" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Seçili açar(lar)-ı çoxalt" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Seçili açar(lar)-ı çoxalt" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7472,6 +7586,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Hamısını Əvəz Et" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7984,6 +8103,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8699,37 +8830,47 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +#, fuzzy +msgid "Type name is empty!" +msgstr "Pano boşdur!" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Əminsinizmi ki, bütün əlaqələri bu siqnaldan çıxartmaq istəyirsiniz?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8749,6 +8890,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11091,10 +11236,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11367,6 +11508,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12297,63 +12452,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13289,6 +13449,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13495,16 +13665,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13899,10 +14075,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index fe8e1bc38f..03d385bf53 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -1,6 +1,6 @@ # Bulgarian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Bojidar Marinov <bojidar.marinov.bg@gmail.com>, 2016. # Иван Пенев (Адмирал АнимЕ) <aeternus.arcis@gmail.com>, 2016-2017. @@ -13,13 +13,14 @@ # zooid <the.zooid@gmail.com>, 2020. # Любомир Василев <lyubomirv@gmx.com>, 2020, 2021. # Ziv D <wizdavid@gmail.com>, 2020. +# Violin Iliev <violin.developer@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-11 15:44+0000\n" -"Last-Translator: Любомир Василев <lyubomirv@gmx.com>\n" +"PO-Revision-Date: 2021-12-31 08:52+0000\n" +"Last-Translator: Violin Iliev <violin.developer@gmail.com>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/" "godot/bg/>\n" "Language: bg\n" @@ -27,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -332,6 +333,11 @@ msgid "Duplicate Key(s)" msgstr "Дублиране на ключа/ключовете" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Добавяне на %d кадър/кадри" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Изтриване на ключа/ключовете" @@ -494,6 +500,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1135,7 +1145,7 @@ msgstr "Благодарности от общността на Godot!" #: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp msgid "Click to copy." -msgstr "" +msgstr "Натисни за да копираш." #: editor/editor_about.cpp msgid "Godot Engine contributors" @@ -1449,6 +1459,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1553,7 +1567,9 @@ msgstr "Обновяване на сцената..." msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1574,6 +1590,7 @@ msgstr "Създаване на папка" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Име:" @@ -2045,8 +2062,9 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" -msgstr "" +#, fuzzy +msgid "overrides %s:" +msgstr "Замяна на всичко" #: editor/editor_help.cpp msgid "default:" @@ -2182,6 +2200,20 @@ msgstr "Свойство на тема" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(стойност)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2191,6 +2223,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Копиране на свойствата" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Поставяне на свойствата" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Копиране на свойствата" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2953,6 +3008,20 @@ msgstr "" "видими в изпълняващия се проект." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4014,6 +4083,10 @@ msgstr "Търсене във файловете" msgid "Find:" msgstr "Търсене:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Замяна:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Папка:" @@ -4037,6 +4110,11 @@ msgstr "Търсене..." msgid "Replace..." msgstr "Замяна..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Замяна на всички" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Търсене: " @@ -4046,8 +4124,9 @@ msgid "Replace: " msgstr "Замяна: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Замяна на всички" #: editor/find_in_files.cpp msgid "Searching..." @@ -4260,6 +4339,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Ресурсът не може да бъде зареден." @@ -5706,6 +5791,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Влачене: преместване на избрания възел." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Влачене: преместване на избрания възел." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Задаване на централната точка на възела." @@ -5736,6 +5826,10 @@ msgid "Scale Mode" msgstr "Режим на скалиране" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5832,20 +5926,44 @@ msgstr "Заключване на избрания обект на място ( #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Заключване на избраното" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Отключване на избрания обект (за да може да се премества)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Изтриване на възела/възлите" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Прави така, че децата на този обект да не могат да бъдат избирани." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Групиране на избраното" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Възстановява на способността да се избират децата на обекта." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Разгрупиране на избраното" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Опции на скелета" @@ -7470,6 +7588,11 @@ msgid "Find in Files..." msgstr "Търсене във файловете…" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Замяна..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7989,6 +8112,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Връщане на стандартните настройки" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8702,6 +8838,28 @@ msgid "Another Theme" msgstr "Друга тема" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Добавяне на тип" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Налични профили:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Полигонната мрежа е празна!" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Потвърждаване на преименуването на елемента" @@ -8724,18 +8882,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Добавяне на тип" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Добавяне на тип елемент" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Типове на възлите:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Показване на стандартните" @@ -8752,6 +8898,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Добавяне на тип елемент" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Тема:" @@ -11114,10 +11264,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Замяна:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11390,6 +11536,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12329,63 +12489,70 @@ msgstr "Запълване на избраното" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Трябва да се зададе или създаде ресурс от тип NavigationMesh, за може да " +"работи този възел." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Изпичане на NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Изчистване на навигационната полигонна мрежа." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Създаване на полигонна мрежа…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Преобразуване на навигационната полигонна мрежа в собствения формат…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Настройка на генератора на навигационни полигонни мрежи:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Готово!" @@ -13351,6 +13518,16 @@ msgstr "" "Прикриващият полигон за този прикриващ обект е празен. Моля, нарисувайте " "полигон." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13568,13 +13745,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Трябва да се зададе или създаде ресурс от тип NavigationMesh, за може да " -"работи този възел." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -13582,6 +13757,12 @@ msgstr "" "NavigationMeshInstance трябва да бъде дъщерен или под-дъщерен на възел от " "тип Navigation. Той само предоставя данните за навигирането." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13982,10 +14163,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/bn.po b/editor/translations/bn.po index d2c5c1ce46..a5f504af97 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -1,6 +1,6 @@ # Bengali translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016-2017. # Abdullah Zubair <abdullahzubair109@gmail.com>, 2017. @@ -327,6 +327,11 @@ msgid "Duplicate Key(s)" msgstr "কী (সমূহ) প্রতিলিপি করুন" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "ফ্রেম যোগ করুন" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "কী (সমূহ) অপসারণ করুন" @@ -499,6 +504,11 @@ msgstr "" "এই বিকল্পটি বেজিয়ার সম্পাদনার জন্য কাজ করে না, কারণ এটি কেবলমাত্র Single ট্র্যাক।" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "অ্যানিমেশনের (Anim) চাবিসমূহের আকার পরিবর্তন করুন" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1520,6 +1530,10 @@ msgid "Invalid name." msgstr "অগ্রহনযোগ্য নাম।" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "গ্রহনযোগ্য অক্ষরসমূহ:" @@ -1634,7 +1648,9 @@ msgstr "দৃশ্য হাল নাগাদ হচ্ছে..." msgid "[empty]" msgstr "(খালি/শূন্য)" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[অসংরক্ষিত]" @@ -1656,6 +1672,7 @@ msgstr "ফোল্ডার তৈরি করুন" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "নাম:" @@ -2182,7 +2199,7 @@ msgstr "প্রোপার্টি-সমূহ:" #: editor/editor_help.cpp #, fuzzy -msgid "override:" +msgid "overrides %s:" msgstr "ওভাররাইড..." #: editor/editor_help.cpp @@ -2350,6 +2367,20 @@ msgstr "প্রোপার্টি-সমূহ:" msgid "Property:" msgstr "প্রপার্টি:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "মান" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2359,6 +2390,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "প্রোপার্টি-সমূহ:" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "প্রোপার্টি-সমূহ:" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "পথ প্রতিলিপি/কপি করুন" + #: editor/editor_log.cpp #, fuzzy msgid "Output:" @@ -3192,6 +3246,20 @@ msgstr "" "পলিগন-সমূহ দৃশ্যমান হবে।" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "দৃশ্যের পরিবর্তনসমূহ সুসংগত/সমন্বয় করুন" @@ -4410,6 +4478,11 @@ msgstr "টাইল খুঁজুন" msgid "Find:" msgstr "সন্ধান করুন" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "প্রতিস্থাপন করুন" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4435,6 +4508,11 @@ msgstr "খুঁজুন..." msgid "Replace..." msgstr "প্রতিস্থাপন..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "সমস্তগুলি প্রতিস্থাপন করুন" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4447,7 +4525,7 @@ msgstr "প্রতিস্থাপন করুন" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "সমস্তগুলি প্রতিস্থাপন করুন" #: editor/find_in_files.cpp @@ -4686,6 +4764,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "রিসোর্স লোড ব্যর্থ হয়েছে।" @@ -6265,6 +6349,11 @@ msgstr "অল্টার কী + টান: স্থানান্তর" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "অল্টার কী + টান: স্থানান্তর" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "নির্বাচিত ট্র্যাক/পথ অপসারণ করুন।" @@ -6297,6 +6386,10 @@ msgid "Scale Mode" msgstr "মাপের মোড করুন (R)" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6408,20 +6501,44 @@ msgstr "নির্বাচিত বস্তুটিকে এই স্থ #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "নির্বাচন করুন" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "নির্বাচিত বস্তুটিকে মুক্ত করুন (সরানো সম্ভব হবে)।" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "নির্বাচিত সমূহ অপসারণ করুন" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "বস্তুর অন্তর্ভুক্ত-সমূহ যাতে নির্বাচনযোগ্য না হয় তা নিশ্চিত করে।" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "নির্বাচিত সমূহ অপসারণ করুন" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "বস্তুর অন্তর্ভুক্ত-সমূহের নির্বাচনযোগ্যতা পুনরায় ফিরিয়ে আনে।" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "নির্বাচিত সমূহ অপসারণ করুন" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "স্কেলেটন/কাঠাম..." @@ -8178,6 +8295,11 @@ msgid "Find in Files..." msgstr "দ্রুত ফাইলসমূহ ফিল্টার করুন..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "প্রতিস্থাপন..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "প্রাসঙ্গিক সাহায্য" @@ -8757,6 +8879,19 @@ msgid "Toggle Freelook" msgstr "পূর্ণ-পর্দা অদলবদল/টগল করুন" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "প্রাথমিক sRGB ব্যবহার করুন" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "রুপান্তর" @@ -9568,6 +9703,30 @@ msgstr "থিম ইম্পোর্ট করুন" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "ধরণ" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "উপস্থিত নোডসমূহ:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "সংরক্ষণের পথটি খালি!" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "একধিক প্রকল্প খোলায় আপনি সুনিশ্চিত?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "অ্যানিমেশন (Anim) ট্র্যাক/পথ-এর নাম পরিবর্তন করুন" @@ -9593,21 +9752,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "ধরণ" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "বস্তু যোগ করুন" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "নোডের ধরণ সন্ধান করুন" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "লোড ডিফল্ট" @@ -9626,6 +9770,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "বস্তু যোগ করুন" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "থিম" @@ -12216,11 +12365,6 @@ msgid "Batch Rename" msgstr "পুনঃনামকরণ করুন" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "প্রতিস্থাপন করুন" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -12517,6 +12661,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "নতুন দৃশ্য এইরূপে সংরক্ষণ করুন..." @@ -13577,71 +13735,78 @@ msgstr "সব সিলেক্ট করুন" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"এই নোডটি সফল্ভাবে কাজ করার জন্য একটি NavigationMesh রিসোর্স নির্ধারন বা তৈরি " +"করতে হবে।" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp #, fuzzy msgid "Clear the navigation mesh." msgstr "Navigation Mesh তৈরি করুন" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "কনফিগারেশন তৈরি করা হচ্ছে..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "গ্রিড সাইজ হিসাব করা হচ্ছে..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Creating heightfield..." msgstr "লাইটের ওকট্রী (octree) তৈরি করা হচ্ছে" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Marking walkable triangles..." msgstr "অনুবাদ-সম্ভব শব্দমালা/বাক্য-সমূহ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "কম্প্যাক্ট হাইফিল্ড তৈরি করা হছে..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "ব্যাবহারযোগ্য পথ মুছে ফেলা হচ্ছে..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Partitioning..." msgstr "সতর্কতা" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Creating contours..." msgstr "ওকট্রী (octree) গঠনবিন্যাস তৈরি করা হচ্ছে" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Creating polymesh..." msgstr "প্রান্তরেখা মেস তৈরি করুন..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Converting to native navigation mesh..." msgstr "Navigation Mesh তৈরি করুন" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "ন্যাভিগেশন ম্যাশ জেনারেটর সেটআপ:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Parsing Geometry..." msgstr "জ্যামিতিক-আকার বিশ্লেষণ করা হচ্ছে" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "সম্পন্ন হয়েছে!" @@ -14688,6 +14853,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "এই occluder এর জন্য occluder পলিগনটি খালি। অনুগ্রহ করে একটি পলিগন আঁকুন!" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14921,13 +15096,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"এই নোডটি সফল্ভাবে কাজ করার জন্য একটি NavigationMesh রিসোর্স নির্ধারন বা তৈরি " -"করতে হবে।" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14935,6 +15108,12 @@ msgstr "" "NavigationMeshInstance-কে অবশ্যই Navigation-এর অংশ অথবা অংশের অংশ হতে হবে। " "এটা শুধুমাত্র ন্যাভিগেশনের তথ্য প্রদান করে।" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -15354,10 +15533,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/br.po b/editor/translations/br.po index 696097454d..e7990afc1f 100644 --- a/editor/translations/br.po +++ b/editor/translations/br.po @@ -1,6 +1,6 @@ # Breton translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Feufoll <feufoll@gmail.com>, 2020. @@ -322,6 +322,10 @@ msgid "Duplicate Key(s)" msgstr "Eilskoueriañ Alc'hwez(ioù)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Dilemel Alc'hwez(ioù)" @@ -495,6 +499,11 @@ msgstr "" "An opsion-se ne dro ket evit editañ Bezier, dre eo ur roudenn nemetken." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Cheñch Skeul Alc'hwezioù Fiñvskeudenn" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1449,6 +1458,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1553,7 +1566,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1574,6 +1589,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2046,7 +2062,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2182,6 +2198,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2191,6 +2220,27 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Roudenn Perzhioù" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2929,6 +2979,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3988,6 +4052,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4011,6 +4079,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4020,7 +4092,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4234,6 +4306,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5655,6 +5733,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5683,6 +5765,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5777,20 +5863,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7393,6 +7503,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7905,6 +8019,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8616,37 +8742,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8666,6 +8800,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11006,10 +11144,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11282,6 +11416,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12211,63 +12359,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13202,6 +13355,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13408,16 +13571,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13812,10 +13981,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 367a724f79..043bc573f0 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -1,6 +1,6 @@ # Catalan translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # BennyBeat <bennybeat@gmail.com>, 2017. # Javier Ocampos <xavier.ocampos@gmail.com>, 2018. @@ -332,6 +332,11 @@ msgid "Duplicate Key(s)" msgstr "Duplica les Claus" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Afegir %d Fotograma(es)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Elimina les Claus" @@ -502,6 +507,11 @@ msgstr "" "Aquesta opció no funciona per l'edició de Bézier, ja que és una pista única." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Escala les Claus" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1499,6 +1509,10 @@ msgid "Invalid name." msgstr "Nom no vàlid." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caràcters vàlids:" @@ -1604,7 +1618,9 @@ msgstr "S'està actualitzant l'escena..." msgid "[empty]" msgstr "[buit]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[no desat]" @@ -1625,6 +1641,7 @@ msgstr "Crea un Directori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nom:" @@ -2132,7 +2149,8 @@ msgid "Properties" msgstr "Propietats" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "Sobreescriu:" #: editor/editor_help.cpp @@ -2188,8 +2206,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquesta propietat no disposa de cap descripció. Podeu contribuir " -"[color=$color][url=$url] tot aportant-ne una[/url][/color]!" +"Aquesta propietat no disposa de cap descripció. Podeu contribuir [color=" +"$color][url=$url] tot aportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Method Descriptions" @@ -2276,6 +2294,20 @@ msgstr "Propietats del tema" msgid "Property:" msgstr "Propietat:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2285,6 +2317,29 @@ msgstr "Definir %s" msgid "Set Multiple:" msgstr "Estableix Múltiples:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Propietats" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Propietats" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copia el camí de l'Script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Sortida:" @@ -3056,8 +3111,8 @@ msgstr "" "Quan aquesta opció està activada, utilitzar el desplegament en un clic farà " "que l'executable intenti connectar-se a la IP d'aquest ordinador per tal que " "el projecte pugui ser depurat.\n" -"Aquesta opció està pensada per ser usada per la depuració remota (" -"habitualment amb un dispositiu mòbil).\n" +"Aquesta opció està pensada per ser usada per la depuració remota " +"(habitualment amb un dispositiu mòbil).\n" "No cal que l'activeu per utilitzar el depurador del GDScript localment." #: editor/editor_node.cpp @@ -3108,6 +3163,20 @@ msgstr "" "l'execució del joc." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronitzar els Canvis en Escena" @@ -4260,6 +4329,10 @@ msgstr "Cercar en els Fitxers" msgid "Find:" msgstr "Cercar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Reemplaça:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Directori:" @@ -4285,6 +4358,11 @@ msgstr "Cerca..." msgid "Replace..." msgstr "Substitueix..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Reemplaça-hoTot" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Cerca: " @@ -4294,8 +4372,9 @@ msgid "Replace: " msgstr "Reemplaça: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Reemplaça-ho Tot (no es pot desfer)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Reemplaça-hoTot" #: editor/find_in_files.cpp msgid "Searching..." @@ -4521,6 +4600,12 @@ msgstr "" "ADVERTIMENT: Existeixen elements que utilitzen aquest recurs, es possible " "que deixin de carregar-se correctament." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "No s'ha pogut carregar el recurs." @@ -6021,6 +6106,11 @@ msgstr "Alt+Arrossegar: Mou el node seleccionat." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrossegar: Mou el node seleccionat." + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Eliminar el node o transició seleccionats." @@ -6051,6 +6141,10 @@ msgid "Scale Mode" msgstr "Mode d'Escalat" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6147,20 +6241,44 @@ msgstr "Immobilitza l'Objecte." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Bloca la selecció" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Allibera l'Objecte." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Elimina Seleccionats" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Impossibilita la selecció dels nodes fills." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Seleccionat" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Permet la selecció de nodes fills." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Seleccionat" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opcions d'esquelet" @@ -7832,6 +7950,11 @@ msgid "Find in Files..." msgstr "Cercar en Fitxers..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Substitueix..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Ajuda Contextual" @@ -8378,6 +8501,19 @@ msgid "Toggle Freelook" msgstr "Vista Lliure" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Carrega Valors predeterminats" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformar" @@ -9152,6 +9288,30 @@ msgstr "Importa un Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Tipus" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfils Disponibles:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "El nom del fitxer és buit." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Esteu segur que voleu obrir més d'un projecte de cop?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Reanomena la Pista" @@ -9177,21 +9337,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tipus" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Afegeix un Element" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Tipus de node:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Carrega Valors predeterminats" @@ -9209,6 +9354,11 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Add Item Type" +msgstr "Afegeix un Element" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -11824,10 +11974,6 @@ msgid "Batch Rename" msgstr "Reanomena en lot" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Reemplaça:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefix:" @@ -12126,6 +12272,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Anomena i Desa la Nova Escena..." @@ -13127,63 +13287,70 @@ msgstr "Omplir la Selecció" msgid "End of inner exception stack trace" msgstr "Final de la traça de la pila d'excepció interna" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Cal crear o establir un recurs de tipus NavigationMesh per al correcte " +"funcionament d'aquest node." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Reestableix la malla de navegació." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Establint la Configuració..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calculant la mida de la quadrícula..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Creant un camp de desplaçaments verticals..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marcant els triangles transitables..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construcció d'un camp compacte de desplaçaments verticals..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erosionant l'àrea transitable..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Establint Particions..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Creant els contorns..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "creant la polyMesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Convertint-ho en una malla de navegació nativa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Configuració del Generador de Malles de Navegació:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Analitzant la Geometria..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Fet!" @@ -14242,6 +14409,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "El polígon oclusor d'aquest oclusor és buit. Si us plau, dibuixeu un polígon." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14503,13 +14680,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "Un SpotLight amb un angle més ample que 90 graus no pot projectar ombres." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Cal crear o establir un recurs de tipus NavigationMesh per al correcte " -"funcionament d'aquest node." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14517,6 +14692,12 @@ msgstr "" "NavigationMeshInstance ha de ser fill o nét d'un node Navigation. Només " "proporciona dades de navegació." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14958,10 +15139,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Assignació a funció." diff --git a/editor/translations/cs.po b/editor/translations/cs.po index e06ac81678..eba90c7fe3 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -1,6 +1,6 @@ # Czech translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Fadex <vitekpaulik@gmail.com>, 2017. # Jan 'spl!te' Kondelík <j.kondelik@centrum.cz>, 2016, 2018. @@ -9,7 +9,7 @@ # Luděk Novotný <gladosicek@gmail.com>, 2016, 2018. # Martin Novák <maidx@seznam.cz>, 2017, 2019. # zxey <r.hozak@seznam.cz>, 2018. -# Vojtěch Šamla <auzkok@seznam.cz>, 2018, 2019, 2020, 2021. +# Vojtěch Šamla <auzkok@seznam.cz>, 2018, 2019, 2020, 2021, 2022. # Peeter Angelo <contact@peeterangelo.com>, 2019. # VojtechBrezina <vojta.brezina@gmail.com>, 2019, 2021. # Garrom Orc Shaman <garromorcshaman@gmail.com>, 2019. @@ -33,8 +33,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-15 17:40+0000\n" -"Last-Translator: Zbyněk <zbynek.fiala@gmail.com>\n" +"PO-Revision-Date: 2022-01-03 03:55+0000\n" +"Last-Translator: Vojtěch Šamla <auzkok@seznam.cz>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -42,7 +42,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -347,6 +347,11 @@ msgid "Duplicate Key(s)" msgstr "Duplikovat klíč(e)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Přidat %d snímků" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Odstranit klíč(e)" @@ -515,6 +520,11 @@ msgstr "" "jednu stopu." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animace: změnit měřítko klíčů" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1497,6 +1507,10 @@ msgid "Invalid name." msgstr "Neplatný název." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Platné znaky:" @@ -1601,7 +1615,9 @@ msgstr "Aktualizuji scénu..." msgid "[empty]" msgstr "[prázdné]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[neuloženo]" @@ -1622,6 +1638,7 @@ msgstr "Vytvořit složku" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Jméno:" @@ -2114,7 +2131,8 @@ msgid "Properties" msgstr "Vlastnosti" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "přepsat:" #: editor/editor_help.cpp @@ -2138,19 +2156,16 @@ msgid "Constants" msgstr "Konstanty" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Font" +msgstr "Fonty" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Ikona" +msgstr "Ikony" #: editor/editor_help.cpp -#, fuzzy msgid "Styles" -msgstr "Styl" +msgstr "Styly" #: editor/editor_help.cpp msgid "Enumerations" @@ -2257,6 +2272,20 @@ msgstr "Vlastnost motivu" msgid "Property:" msgstr "Vlastnost:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(hodnota)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2266,6 +2295,29 @@ msgstr "Nastav %s" msgid "Set Multiple:" msgstr "Nastavit více:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Kopírovat vlastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Vložit vlastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Zkopírovat cestu ke skriptu" + #: editor/editor_log.cpp msgid "Output:" msgstr "Výstup:" @@ -3072,6 +3124,20 @@ msgstr "" "polygony." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Synchronizovat změny scény" @@ -4189,6 +4255,10 @@ msgstr "Najít v souborech" msgid "Find:" msgstr "Najít:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Nahradit:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Složka:" @@ -4214,6 +4284,11 @@ msgstr "Najít..." msgid "Replace..." msgstr "Nahradit..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Nahradit všechny" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Najít: " @@ -4223,8 +4298,9 @@ msgid "Replace: " msgstr "Nahradit: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Nahradit všechny (bez možnosti vrácení)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Nahradit všechny" #: editor/find_in_files.cpp msgid "Searching..." @@ -4443,6 +4519,12 @@ msgstr "" "VAROVÁNÍ: Existují zdroje, který tento zdroj používají. Může se stát, že se " "přestanou správně načítat." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Selhalo nahrání zdroje." @@ -5899,6 +5981,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+přetažení: Přesun vybraného uzlu." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+přetažení: Přesun vybraného uzlu." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Nastavení polohy pivotu vybraného uzlu." @@ -5928,6 +6015,10 @@ msgid "Scale Mode" msgstr "Režim škálování" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6024,20 +6115,44 @@ msgstr "Uzamknout vybraný objekt na místě (nemůže být přesunut)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Uzamčít vybraný" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Uvolnit vybraný objekt (může být přesunut)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Odemčít vybraný" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Zajistí, aby nebylo možné vybrat potomky objektu." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Seskupit vybrané" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Obnoví, aby bylo možné vybrat potomky objektu." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Odskupit vybrané" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Možnosti kostry" @@ -6644,14 +6759,12 @@ msgid "Remove Selected Item" msgstr "Odstranit vybranou položku" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Import from Scene (Ignore Transforms)" -msgstr "Importovat ze scény" +msgstr "Importovat ze scény (ignorovat transformace)" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Import from Scene (Apply Transforms)" -msgstr "Importovat ze scény" +msgstr "Importovat ze scény (aplikovat transformace)" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Update from Scene" @@ -7224,9 +7337,8 @@ msgid "ResourcePreloader" msgstr "Zdroj" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Převrátit horizontálně" +msgstr "Převrátit portály" #: editor/plugins/room_manager_editor_plugin.cpp msgid "Room Generate Points" @@ -7237,9 +7349,8 @@ msgid "Generate Points" msgstr "Generovat body" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Převrátit horizontálně" +msgstr "Převrátit portál" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy @@ -7677,6 +7788,11 @@ msgid "Find in Files..." msgstr "Najít v souborech..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Nahradit..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Kontextová nápověda" @@ -8107,9 +8223,8 @@ msgstr "" "Nelze jej použít jako spolehlivý ukazatel výkonu ve hře." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Konvertovat na %s" +msgstr "Konvertovat místnosti" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8215,6 +8330,19 @@ msgid "Toggle Freelook" msgstr "Přepnout volný pohled" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Obnovit výchozí" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformace" @@ -8339,9 +8467,8 @@ msgid "Post" msgstr "Po" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Unnamed Gizmo" -msgstr "Nepojmenovaný projekt" +msgstr "Nepojmenované gizmo" #: editor/plugins/sprite_editor_plugin.cpp msgid "Create Mesh2D" @@ -8601,9 +8728,8 @@ msgid "{num} color(s)" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "Nebyly nalezeny žádné dílčí zdroje." +msgstr "Nebyly nalezeny žádné barvy." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8611,9 +8737,8 @@ msgid "{num} constant(s)" msgstr "Konstanty" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Konstantní barva." +msgstr "Nebyly nalezeny žádné konstanty." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" @@ -8667,9 +8792,8 @@ msgid "Finalizing" msgstr "Analyzuji" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Filtry:" +msgstr "Filtr:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" @@ -8776,9 +8900,8 @@ msgid "Deselect all Theme items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Importovat scénu" +msgstr "Importovat vybrané" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8799,9 +8922,8 @@ msgid "Remove All Color Items" msgstr "Odstranit všechny položky" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Odstranit položku" +msgstr "Přejmenovat položku" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8938,9 +9060,8 @@ msgid "Add Theme Item" msgstr "Přidat položku" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Název uzlu:" +msgstr "Starý název:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8948,14 +9069,12 @@ msgid "Import Items" msgstr "Importovat motiv" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "Výchozí" +msgstr "Výchozí motiv" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Editovat téma" +msgstr "Motiv editoru" #: editor/plugins/theme_editor_plugin.cpp msgid "Select Another Theme Resource:" @@ -8967,6 +9086,29 @@ msgid "Another Theme" msgstr "Importovat motiv" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Přidat typ" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Dostupné profily:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Název souboru je prázdný." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Jste si jisti, že chcete otevřit více než jeden projekt?" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Confirm Item Rename" msgstr "Animace: přejmenování stopy" @@ -8977,9 +9119,8 @@ msgid "Cancel Item Rename" msgstr "Dávkové přejmenování" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Přepisuje" +msgstr "Přepsat položku" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." @@ -8992,38 +9133,27 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "Typ" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Přidat položku" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Typy uzlu:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Načíst výchozí" +msgstr "Zobrazit výchozí" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override All" -msgstr "Přepisuje" +msgstr "Přepsat všechny" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Add Item Type" +msgstr "Přidat položku" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Motiv:" @@ -9037,14 +9167,12 @@ msgid "Add, remove, organize and import Theme items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Náhled" +msgstr "Přidat náhled" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Obnovit náhled" +msgstr "Výchozí náhled" #: editor/plugins/theme_editor_plugin.cpp msgid "Select UI Scene:" @@ -10772,7 +10900,6 @@ msgid "Imported Project" msgstr "Importovaný projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Neplatný název projektu." @@ -11032,9 +11159,8 @@ msgid "Project Manager" msgstr "Správce projektů" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Projekty" +msgstr "Místní projekty" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11045,14 +11171,12 @@ msgid "Last Modified" msgstr "Datum modifikace" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Exportovat projekt" +msgstr "Upravit projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Přejmenovat projekt" +msgstr "Spustit projekt" #: editor/project_manager.cpp msgid "Scan" @@ -11072,14 +11196,12 @@ msgid "New Project" msgstr "Nový projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Importovaný projekt" +msgstr "Importovat projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "Přejmenovat projekt" +msgstr "Odstranit projekt" #: editor/project_manager.cpp msgid "Remove Missing" @@ -11119,9 +11241,8 @@ msgstr "" "Přejete si prozkoumat oficiální ukázkové projekty v knihovně assetů?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Filtrovat vlastnosti" +msgstr "Filtrovat projekty" #: editor/project_manager.cpp #, fuzzy @@ -11332,9 +11453,8 @@ msgid "Override for Feature" msgstr "Přepsání vlastnosti" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Přidat překlad" +msgstr "Přidat %d překladů" #: editor/project_settings_editor.cpp msgid "Remove Translation" @@ -11531,10 +11651,6 @@ msgid "Batch Rename" msgstr "Dávkové přejmenování" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Nahradit:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefix:" @@ -11813,6 +11929,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Uložit novou scénu jako..." @@ -12597,9 +12727,8 @@ msgid "Export Mesh GLTF2" msgstr "Exportovat Mesh Library" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Exportovat..." +msgstr "Exportovat GLTF..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12775,63 +12904,70 @@ msgstr "Vyplnit výběr" msgid "End of inner exception stack trace" msgstr "Konec zásobníku trasování vnitřní výjimky" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Aby tento uzel mohl fungovat, musí mít nastaven nebo vytvořen zdroj " +"NavigationMesh." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Zapéct NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Vymazat navigační model." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Nastavuji konfiguraci..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Počítám velikost mřížky..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Vytvářím výškové pole..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Vyznačuji průchozí trojúhelníky..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Konstruuji kompaktní výškové pole..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Eroduji průchozí oblast..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Rozděluji..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Vytvářím kontury..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Vytvářím polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Převádím na nativní navigační mřížku..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Nastavení generátoru navigační sítě:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Parsuji geometrii..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Hotovo!" @@ -13461,9 +13597,8 @@ msgid "'apksigner' returned with error #%d" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "Přidávám %s..." +msgstr "Ověřuji %s..." #: platform/android/export/export_plugin.cpp msgid "'apksigner' verification of %s failed." @@ -13552,9 +13687,8 @@ msgid "Package not found: %s" msgstr "Animace nenalezena: '%s'" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Creating APK..." -msgstr "Vytvářím kontury..." +msgstr "Vytvářím APK..." #: platform/android/export/export_plugin.cpp msgid "" @@ -13573,9 +13707,8 @@ msgid "" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Adding files..." -msgstr "Přidávám %s..." +msgstr "Přidávám soubory..." #: platform/android/export/export_plugin.cpp msgid "Could not export project files" @@ -13634,9 +13767,8 @@ msgid "Could not write file:" msgstr "Nelze zapsat soubor:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "Nelze zapsat soubor:" +msgstr "Nelze přečíst soubor:" #: platform/javascript/export/export.cpp #, fuzzy @@ -13845,6 +13977,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Stínový polygon pro toto stínítko je prázdný. Nakreslete polygon." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14095,13 +14237,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight s úhlem širším než 90 stupňů nemůže vrhat stíny." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Aby tento uzel mohl fungovat, musí mít nastaven nebo vytvořen zdroj " -"NavigationMesh." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14109,6 +14249,12 @@ msgstr "" "NavigationMeshInstance musí být dítětem nebo vnoučetem uzlu Navigation. " "Poskytuje pouze data pro navigaci." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14555,10 +14701,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Přiřazeno funkci." diff --git a/editor/translations/da.po b/editor/translations/da.po index e240179bb3..f35a125640 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -1,6 +1,6 @@ # Danish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Dankse Memes <purplelops@gmail.com>, 2018. # David Lamhauge <davidlamhauge@gmail.com>, 2016, 2018. @@ -340,6 +340,10 @@ msgid "Duplicate Key(s)" msgstr "Dublikér nøgle(r)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Slet nøgle(r)" @@ -519,6 +523,11 @@ msgstr "" "spor." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Skaler Nøgler" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1538,6 +1547,10 @@ msgid "Invalid name." msgstr "Ugyldigt navn." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Gyldige karakterer:" @@ -1653,7 +1666,9 @@ msgstr "Opdatere scene..." msgid "[empty]" msgstr "[tom]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ikke gemt]" @@ -1674,6 +1689,7 @@ msgstr "Opret Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Navn:" @@ -2199,7 +2215,7 @@ msgid "Properties" msgstr "Egenskaber" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2345,6 +2361,20 @@ msgstr "Tema Egenskaber" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(værdi)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2354,6 +2384,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Egenskaber" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Egenskaber" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopier Sti" + #: editor/editor_log.cpp msgid "Output:" msgstr "Output:" @@ -3167,6 +3220,20 @@ msgstr "" "denne indstilling er tændt." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Synkroniser Scene Ændringer" @@ -4328,6 +4395,11 @@ msgstr "%d flere filer" msgid "Find:" msgstr "Find" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Erstat" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4353,6 +4425,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Erstat Alle" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4365,7 +4442,7 @@ msgstr "Erstat" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Erstat Alle" #: editor/find_in_files.cpp @@ -4595,6 +4672,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Fejler med at indlæse ressource." @@ -6121,6 +6204,11 @@ msgstr "Slet markerede filer?" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Slet markerede filer?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Fjern valgte node eller overgang." @@ -6150,6 +6238,10 @@ msgid "Scale Mode" msgstr "Skifter Modus" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6250,20 +6342,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Vælg værktøj" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Slet Valgte" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Fjern Markering" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Fjern Markering" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Singleton" @@ -7956,6 +8072,11 @@ msgid "Find in Files..." msgstr "Filtrer filer..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Filtrer filer..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8496,6 +8617,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Indlæs Default" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9279,6 +9413,30 @@ msgstr "Medlemmer" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Find Node Type" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Tilgængelige Noder:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Udklipsholder er tom" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Er du sikker på at du vil fjerne alle forbindelser fra dette signal?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim Omdøb Spor" @@ -9303,20 +9461,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Find Node Type" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Find Node Type" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Indlæs Default" @@ -9333,6 +9477,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Medlemmer" @@ -11823,11 +11971,6 @@ msgid "Batch Rename" msgstr "Omdøb" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Erstat" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -12116,6 +12259,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -13117,63 +13274,70 @@ msgstr "All selection" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"En NavigationMesh ressource skal laves eller oprettes for at denne node kan " +"fungere." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -14198,6 +14362,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Occluder polygon for denne occluder er tom. Tegn venligst en polygon!" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14429,13 +14603,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"En NavigationMesh ressource skal laves eller oprettes for at denne node kan " -"fungere." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14443,6 +14615,12 @@ msgstr "" "NavigationMeshInstance skal være et barn eller barnebarn til en Navigation " "node. Det giver kun navigationsdata." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14861,10 +15039,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/de.po b/editor/translations/de.po index 5e468b75f0..27b04cd77b 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -1,6 +1,6 @@ # German translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Alexander Mahr <alex.mahr@gmail.com>, 2016, 2019. # Andreas Esau <andreasesau@gmail.com>, 2016. @@ -74,13 +74,14 @@ # Dominik Moos <dominik.moos@protonmail.com>, 2021. # Zae Chao <zaevi@live.com>, 2021. # Tim <tim14speckenwirth@gmail.com>, 2021. +# Antonio Noack <corperateraider@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-11 06:25+0000\n" -"Last-Translator: So Wieso <sowieso@dukun.de>\n" +"PO-Revision-Date: 2022-01-03 03:55+0000\n" +"Last-Translator: Antonio Noack <corperateraider@gmail.com>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -88,7 +89,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -391,6 +392,11 @@ msgid "Duplicate Key(s)" msgstr "Schlüsselbilder duplizieren" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "%d Frame(s) hinzufügen" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Schlüsselbilder entfernen" @@ -561,6 +567,11 @@ msgstr "" "sich nur um eine einzige Spur handelt." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Schlüsselbilder skalieren" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1550,6 +1561,10 @@ msgid "Invalid name." msgstr "Ungültiger Name." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Gültige Zeichen:" @@ -1654,7 +1669,9 @@ msgstr "Aktualisiere Szene..." msgid "[empty]" msgstr "[leer]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ungespeichert]" @@ -1675,6 +1692,7 @@ msgstr "Ordner erstellen" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Name:" @@ -2180,7 +2198,8 @@ msgid "Properties" msgstr "Eigenschaften" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "Überschreibungen:" #: editor/editor_help.cpp @@ -2217,7 +2236,7 @@ msgstr "Stile" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "Aufzählungen" +msgstr "Aufzählungstypen" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -2320,6 +2339,20 @@ msgstr "Theme-Eigenschaft" msgid "Property:" msgstr "Eigenschaft:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(Wert)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2329,6 +2362,29 @@ msgstr "%s setzen" msgid "Set Multiple:" msgstr "Mehrfach festlegen:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Eigenschaften kopieren" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Eigenschaften einfügen" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Skriptpfad kopieren" + #: editor/editor_log.cpp msgid "Output:" msgstr "Ausgabe:" @@ -3156,6 +3212,20 @@ msgstr "" "diese Option gewählt ist." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Szenenänderungen synchronisieren" @@ -4280,6 +4350,10 @@ msgstr "In Dateien suchen" msgid "Find:" msgstr "Suche:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Ersetzen:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Verzeichnis:" @@ -4305,6 +4379,11 @@ msgstr "Finde..." msgid "Replace..." msgstr "Ersetzen..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Alle ersetzen" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Suche: " @@ -4314,8 +4393,9 @@ msgid "Replace: " msgstr "Ersetzen: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Alle ersetzen (nicht rückgängig)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Alle ersetzen" #: editor/find_in_files.cpp msgid "Searching..." @@ -4540,6 +4620,12 @@ msgstr "" "ACHTUNG: Es existieren Inhalte die diese Ressource nutzen und nachher " "möglicherweise nicht mehr ordnungsgemäß laden können." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Laden der Ressource gescheitert." @@ -6005,6 +6091,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Ziehen = Ausgewähltes Node verschieben." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Ziehen = Ausgewähltes Node verschieben." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Pivotpunkt des ausgewählten Nodes festlegen." @@ -6035,6 +6126,10 @@ msgid "Scale Mode" msgstr "Skalierungsmodus" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6133,20 +6228,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Sperren ausgewählt" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Das ausgewählte Objekt entsperren (kann bewegt werden)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Auswahl entsperren" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Verhindert das Auswählen von Unterobjekten dieses Nodes." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Auswahl gruppieren" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Stellt die Auswählbarkeit aller Unterobjekte wieder her." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Auswahl entgruppieren" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Skelett-Einstellungen" @@ -7795,6 +7914,11 @@ msgid "Find in Files..." msgstr "In Dateien suchen..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Ersetzen..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Kontexthilfe" @@ -8324,6 +8448,19 @@ msgid "Toggle Freelook" msgstr "Freie Kamera umschalten" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Auf Standardwerte zurücksetzen" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformation" @@ -9048,6 +9185,29 @@ msgid "Another Theme" msgstr "Anderes Design" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Typ hinzufügen" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Verfügbare Profile:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Dateiname ist leer." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Sollen wirklich mehrere Projekte geöffnet werden?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Elementumbenennung bestätigen" @@ -9072,18 +9232,6 @@ msgstr "" "StyleBox werden ebenfalls in allen StyleBoxen des gleichen Typs geändert." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Typ hinzufügen" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Elementtyp hinzufügen" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Node-Typen:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Standard anzeigen" @@ -9100,6 +9248,10 @@ msgid "Override all default type items." msgstr "Alle Standard-Typelemente überbrücken." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Elementtyp hinzufügen" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Thema:" @@ -11616,10 +11768,6 @@ msgid "Batch Rename" msgstr "Stapelweise Umbenennung" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Ersetzen:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Präfix:" @@ -11915,6 +12063,20 @@ msgstr "" "erzeugt werden." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Speichere neue Szene als..." @@ -12878,63 +13040,70 @@ msgstr "Solution bauen" msgid "End of inner exception stack trace" msgstr "Ende des inneren Exception-Stack-Traces" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource " +"erzeugt oder gesetzt werden." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "NavMesh backen" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Navigations-Mesh löschen." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Konfiguration wird erstellt..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Gittergröße wird berechnet..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Höhenmodell erstellen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Begehbare Dreiecke markieren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Kompaktes Höhenmodell wir konstruiert..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Begehbare Gebiete werden erodiert..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Einteilen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Konturen erzeugen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Polymesh erzeugen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "In natives Navigation-Mesh konvertieren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Navigation-Mesh-Generatoreinstellungen:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Parse Geometrie…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Abgeschlossen!" @@ -13979,6 +14148,16 @@ msgstr "" "Das Occluder-Polygon für diesen Occluder ist leer. Zum Fortfahren Polygon " "zeichnen." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14247,13 +14426,11 @@ msgstr "" "Ein SpotLight mit einem Winkel von mehr als 90 Grad kann keine Schatten " "werfen." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource " -"erzeugt oder gesetzt werden." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14261,6 +14438,12 @@ msgstr "" "NavigationMeshInstance muss ein Unterobjekt erster oder zweiter Ordnung " "eines Navigation-Nodes sein. Es liefert nur Navigationsinformationen." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Es wurde keine Form festgelegt." @@ -14756,12 +14939,6 @@ msgstr "" "erneut in der ‚vertex‘- oder ‚light‘-Funktion zugewiesen werden." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"Varying aus Fragment-Phase konnte nicht in gesonderter Funktion abgerufen " -"werden!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Zuweisung an Funktion." diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 7d680c73f7..ab1796503c 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -1,6 +1,6 @@ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. @@ -314,6 +314,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -476,6 +480,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1428,6 +1436,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1532,7 +1544,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1553,6 +1567,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2024,7 +2039,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2160,6 +2175,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2169,6 +2197,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2907,6 +2955,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3964,6 +4026,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3987,6 +4053,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -3996,7 +4066,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4210,6 +4280,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5631,6 +5707,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5659,6 +5739,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5753,20 +5837,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7366,6 +7470,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7878,6 +7986,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8589,37 +8709,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8639,6 +8767,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10979,10 +11111,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11255,6 +11383,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12184,63 +12326,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13174,6 +13321,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13380,16 +13537,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13784,10 +13947,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index a164e4d7b5..1235fd00fe 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -1,6 +1,6 @@ # Greek translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018, 2019, 2020, 2021. # Georgios Katsanakis <geo.elgeo@gmail.com>, 2019. @@ -332,6 +332,11 @@ msgid "Duplicate Key(s)" msgstr "Αναπαραγωγή Κλειδιών" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Προσθήκη %d Καρέ" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Διαγραφή κλειδιών" @@ -506,6 +511,11 @@ msgstr "" "κομμάτι." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Κλιμάκωση Κλειδιών Κίνησης" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1501,6 +1511,10 @@ msgid "Invalid name." msgstr "Μη έγκυρο όνομα." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Έγκυροι χαρακτήρες:" @@ -1608,7 +1622,9 @@ msgstr "Ενημέρωση σκηνής..." msgid "[empty]" msgstr "[άδειο]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[μη αποθηκευμένο]" @@ -1629,6 +1645,7 @@ msgstr "Δημιουργία φακέλου" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Όνομα:" @@ -2130,7 +2147,8 @@ msgid "Properties" msgstr "Ιδιότητες" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "παράκαμψη:" #: editor/editor_help.cpp @@ -2274,6 +2292,20 @@ msgstr "Ιδιότητα Θέματος" msgid "Property:" msgstr "Ιδιότητα:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(τιμή)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2283,6 +2315,29 @@ msgstr "Θέσε %s" msgid "Set Multiple:" msgstr "Ορισμός πολλών:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Ιδιότητες" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Ιδιότητες" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Αντιγραφή Διαδρομής Δέσμης Ενεργειών" + #: editor/editor_log.cpp msgid "Output:" msgstr "Έξοδος:" @@ -3109,6 +3164,20 @@ msgstr "" "επιλογή είναι ενεργοποιημένη." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Συγχρονισμός αλλαγών της σκηνής" @@ -4266,6 +4335,10 @@ msgstr "Εύρεση στα Αρχεία" msgid "Find:" msgstr "Εύρεση:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Αντικατάσταση:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Φάκελος:" @@ -4291,6 +4364,11 @@ msgstr "Εύρεση..." msgid "Replace..." msgstr "Αντικατάσταση..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Αντικατάσταση όλων" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Εύρεση: " @@ -4300,8 +4378,9 @@ msgid "Replace: " msgstr "Αντικατάσταση: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Αντικατάσταση όλων (χωρίς ανέραιση)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Αντικατάσταση όλων" #: editor/find_in_files.cpp msgid "Searching..." @@ -4518,6 +4597,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτός ο πόρος χρησιμοποιείται απο άλλους πόρους." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Απέτυχε η φόρτωση πόρου." @@ -6002,6 +6087,11 @@ msgstr "Alt + Σύρσιμο: Μετακίνηση" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt + Σύρσιμο: Μετακίνηση" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Αφαίρεση επιλεγμένου κόμβου ή μετάβασης." @@ -6033,6 +6123,10 @@ msgid "Scale Mode" msgstr "Λειτουργία Κλιμάκωσης" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6131,20 +6225,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Κλείδωσε το Επιλεγμένο" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Ξεκλείδωμα του επιλεγμένου αντικειμένου (μπορεί να μετακινηθεί)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Ξεκλείδωσε το Επιλεγμένο" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Σιγουρεύει ότι τα παιδιά του αντικειμένου δεν μπορούν να επιλεχθούν." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Ομαδοποίησε το Επιλεγμένο" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Επαναφέρει τη δυνατότητα των παιδιών του αντικειμένου να επιλεχθούν." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Απομαδοποίησε το Επιλεγμένο" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Επιλογές Σκελετού" @@ -7821,6 +7939,11 @@ msgid "Find in Files..." msgstr "Εύρεση σε Αρχεία..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Αντικατάσταση..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Βοήθεια ανάλογα με τα συμφραζόμενα" @@ -8376,6 +8499,19 @@ msgid "Toggle Freelook" msgstr "Εναλλαγή ελεύθερης κάμερας" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Επαναφορά προεπιλογών" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Μετασχηματισμός" @@ -9147,6 +9283,30 @@ msgstr "Εισαγωγή θέματος" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Τύπος" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Διαθέσιμα Προφίλ:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Άδειο όνομα αρχείου." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Είστε σίγουροι πως θέλετε να ανοίξετε περισσότερα από ένα έργα;" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim Μετονομασία κομματιού" @@ -9172,21 +9332,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Τύπος" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Προσθήκη στοιχείου" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Είδος Κόμβου" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Φόρτωση προεπιλογής" @@ -9205,6 +9350,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Προσθήκη στοιχείου" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Θέμα" @@ -11741,10 +11891,6 @@ msgid "Batch Rename" msgstr "Ομαδική Μετονομασία" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Αντικατάσταση:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Πρόθεμα:" @@ -12027,6 +12173,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Αποθήκευση νέας σκηνής ως..." @@ -13004,63 +13164,70 @@ msgstr "Γέμισμα Επιλογής" msgid "End of inner exception stack trace" msgstr "Τέλος ιχνηλάτησης στοίβας εσωτερικής εξαίρεσης" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Ένας πόρος πλέγματος πλοήγησης θα πρέπει να έχει ορισθεί ή δημιουργηθεί για " +"να δουλέψει αυτός ο κόμβος." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Ψήσιμο NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Εκκαθάριση του πλέγματος πλοήγησης." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Ρύθμιση παραμέτρων..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Υπολογισμός μεγέθους πλέγματος..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Δημιουργία πεδίου ύψους..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Επισήμανση βατών τριγώνων..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Δημιουργία συμπυκνωμένου πεδίου ύψους..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Διάβρωση βατής περιοχής..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Διαμερισμός..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Δημιουργία περιγραμμάτων..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Δημιουργία πολύ-πλέγματος..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Μετατροπή σε εγγενή πλέγμα πλοήγησης..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Ρύθμιση γενήτριας πλέγματος πλοήγησης:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Ανάλυση γεωμετρίας..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Τέλος!" @@ -14109,6 +14276,16 @@ msgstr "" "Το πολύγωνο εμποδίου για αυτό το εμπόδιο είναι άδειο. Παρακαλούμε ζωγραφίστε " "ένα πολύγωνο." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14374,13 +14551,11 @@ msgstr "" "Οι προβολείς (SpotLight) με γωνία ευρύτερη των 90 μοιρών δεν μπορούν να " "δημιουργήσουν σκιές." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Ένας πόρος πλέγματος πλοήγησης θα πρέπει να έχει ορισθεί ή δημιουργηθεί για " -"να δουλέψει αυτός ο κόμβος." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14388,6 +14563,12 @@ msgstr "" "Ένας κόμβος τύπου στιγμιοτύπου πλέγματος πλοήγησης πρέπει να κληρονομεί έναν " "κόμβο τύπου πλοήγηση, διότι διαθέτει μόνο δεδομένα πλοήγησης." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14840,10 +15021,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Ανάθεση σε συνάρτηση." diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 512f9ce725..f3aa813e83 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -1,6 +1,6 @@ # Esperanto translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Scott Starkey <yekrats@gmail.com>, 2019. # AlexHoratio <yukithetupper@gmail.com>, 2019. @@ -328,6 +328,10 @@ msgid "Duplicate Key(s)" msgstr "Duobligi Ŝlosilo(j)n" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Forigi Ŝlosilo(j)n" @@ -496,6 +500,11 @@ msgstr "" "trako." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animado Skali Ŝlosilojn" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1479,6 +1488,10 @@ msgid "Invalid name." msgstr "Malvalida nomo." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Validaj signoj:" @@ -1584,7 +1597,9 @@ msgstr "Aktualigas la scenon..." msgid "[empty]" msgstr "[malplena]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ne konservis]" @@ -1605,6 +1620,7 @@ msgstr "Krei dosierujon" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nomo:" @@ -2100,7 +2116,8 @@ msgid "Properties" msgstr "Atributoj" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "redifino:" #: editor/editor_help.cpp @@ -2241,6 +2258,20 @@ msgstr "Etosa atributo" msgid "Property:" msgstr "Atributo:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valoro)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2250,6 +2281,29 @@ msgstr "Agordis %s" msgid "Set Multiple:" msgstr "Agordi pluroblan:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Atributoj" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Atributoj" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Atributoj" + #: editor/editor_log.cpp msgid "Output:" msgstr "Eligo:" @@ -3061,6 +3115,20 @@ msgstr "" "la rula projekto." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sinkronigi ŝanĝojn en sceno" @@ -4205,6 +4273,10 @@ msgstr "Trovi en dosierojn" msgid "Find:" msgstr "Trovi:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Anstataŭigo:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Dosierujo:" @@ -4230,6 +4302,11 @@ msgstr "Trovi..." msgid "Replace..." msgstr "Anstataŭigi..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Anstataŭigi Ĉiujn" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Trovi: " @@ -4239,8 +4316,9 @@ msgid "Replace: " msgstr "Anstataŭigi: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Anstataŭigi ciujn (senrevene)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Anstataŭigi Ĉiujn" #: editor/find_in_files.cpp msgid "Searching..." @@ -4457,6 +4535,12 @@ msgid "" msgstr "" "AVERTO: Havaĵoj ekzistas ke uzis ĉi tiu risurcon, ili povas ĉesi ŝargi dece." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Ne eblas ŝargi risurcon." @@ -5923,6 +6007,11 @@ msgstr "Alt-klavo+ŝovado: Movi" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt-klavo+ŝovado: Movi" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Forigi elektitan nodon aŭ transpason." @@ -5954,6 +6043,10 @@ msgid "Scale Mode" msgstr "Skalada reĝimo" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6050,20 +6143,44 @@ msgstr "Ŝlosi la elektitan objekton samloke (ne movebla)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Ŝlosi elektiton" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Malŝlosi la elektitan objekton (movebla)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Malŝlosi elektiton" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Certigu la infanojn de la objekto ne estas elekteblajn." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Grupigi elektiton" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaŭras la elekteblecon de la infanoj de la objekto." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Malgrupigi elektiton" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opcioj de ostaro" @@ -7705,6 +7822,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Anstataŭigi..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Kunteksta Helpo" @@ -8241,6 +8363,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Rekomencigi al defaŭltoj" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformo" @@ -8998,6 +9133,30 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Disponeblaj profiloj:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "La dosiernomo estas malplena." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Ĉu vi certe volas malfermi plurajn projektojn?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Agordi kapton" @@ -9023,20 +9182,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Nomo de nodo:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Ŝargi defaŭlton" @@ -9054,6 +9199,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11456,10 +11605,6 @@ msgid "Batch Rename" msgstr "Renomi staple" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Anstataŭigo:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefikso:" @@ -11737,6 +11882,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Konservi novan scenon kiel..." @@ -12693,63 +12852,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13716,6 +13880,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13922,16 +14096,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14328,10 +14508,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/es.po b/editor/translations/es.po index 59abc8a5ad..156a3a5ec5 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -1,6 +1,6 @@ # Spanish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Addiel Lucena Perez <addiell2017@gmail.com>, 2017. # Aleix Sanchis <aleixsanchis@hotmail.com>, 2017, 2018. @@ -391,6 +391,11 @@ msgid "Duplicate Key(s)" msgstr "Duplicar Clave(s)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Añadir %d Fotograma(s)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Eliminar Clave(s)" @@ -563,6 +568,11 @@ msgstr "" "única." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Escalar Claves de Animación" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1548,6 +1558,10 @@ msgid "Invalid name." msgstr "Nombre inválido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caracteres válidos:" @@ -1652,7 +1666,9 @@ msgstr "Actualizando escena..." msgid "[empty]" msgstr "[vacío]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[sin guardar]" @@ -1673,6 +1689,7 @@ msgstr "Crear Carpeta" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nombre:" @@ -2177,7 +2194,8 @@ msgid "Properties" msgstr "Propiedades" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "anulación:" #: editor/editor_help.cpp @@ -2317,6 +2335,20 @@ msgstr "Propiedades del Theme" msgid "Property:" msgstr "Propiedad:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2326,6 +2358,29 @@ msgstr "Establecer %s" msgid "Set Multiple:" msgstr "Asignar Múltiples:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copiar Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Pegar Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copiar Ruta del Script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Salida:" @@ -3149,6 +3204,20 @@ msgstr "" "serán visibles en el proyecto en ejecución." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizar Cambios de Escena" @@ -4282,6 +4351,10 @@ msgstr "Buscar en Archivos" msgid "Find:" msgstr "Buscar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Reemplazar:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Carpeta:" @@ -4307,6 +4380,11 @@ msgstr "Buscar..." msgid "Replace..." msgstr "Reemplazar..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Reemplazar Todo" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Buscar: " @@ -4316,8 +4394,9 @@ msgid "Replace: " msgstr "Reemplazar: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Reemplazar todo (no se puede deshacer)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Reemplazar Todo" #: editor/find_in_files.cpp msgid "Searching..." @@ -4538,6 +4617,12 @@ msgstr "" "ADVERTENCIA: Existen assets que utilizan este recurso, pueden dejar de " "cargarse correctamente." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Error al cargar el recurso." @@ -6007,6 +6092,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Arrastrar: Mover el nodo seleccionado." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrastrar: Mover el nodo seleccionado." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Establecer la posición de pivote del nodo seleccionado." @@ -6037,6 +6127,10 @@ msgid "Scale Mode" msgstr "Modo de Escalado" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6134,20 +6228,44 @@ msgstr "Bloquear el objeto seleccionado en su sitio (no se puede mover)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Bloqueo Seleccionado" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Desbloquear el objeto seleccionado (puede ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Desbloquear Seleccionado" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Asegura que los hijos del objeto no sean seleccionables." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Seleccionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaura la capacidad de selección de los hijos del objeto." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Seleccionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opciones de Esqueleto" @@ -7798,6 +7916,11 @@ msgid "Find in Files..." msgstr "Buscar en Archivos..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Reemplazar..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Ayuda Contextual" @@ -8322,6 +8445,19 @@ msgid "Toggle Freelook" msgstr "Act./Desact. Vista Libre" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Restablecer Valores por Defecto" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformar" @@ -9044,6 +9180,29 @@ msgid "Another Theme" msgstr "Otro Theme" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Añadir Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfiles Disponibles:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "El nombre del archivo está vacío." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "¿Seguro que quieres abrir más de un proyecto?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Confirmar Cambio de Nombre del Elemento" @@ -9069,18 +9228,6 @@ msgstr "" "de este tipo." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Añadir Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Añadir Tipo de Elemento" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Tipo de nodo:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Mostrar Por Defecto" @@ -9099,6 +9246,10 @@ msgid "Override all default type items." msgstr "Anular todos los elementos de tipo por defecto." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Añadir Tipo de Elemento" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Theme:" @@ -11610,10 +11761,6 @@ msgid "Batch Rename" msgstr "Renombrar por lote" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Reemplazar:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefijo:" @@ -11908,6 +12055,20 @@ msgstr "" "su lugar." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Guardar Nueva Escena Como..." @@ -12874,63 +13035,70 @@ msgstr "Crear Solución" msgid "End of inner exception stack trace" msgstr "Fin del reporte de la pila de excepciones" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Se debe crear o establecer un recurso NavigationMesh para que este nodo " +"funcione." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Calcular NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Limpiar la malla de navegación." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Estableciendo la configuración..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calculando tamaño la cuadrícula..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Creando campo de alturas..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marcando triángulos transitables..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construyendo heightfield compacto..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erosionando área transitable..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Particionando..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Creando contornos..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Creando polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Convertir a malla de navegación nativa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Configuración del Generador de Mallas de Navegación:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Analizando geometría..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "¡Hecho!" @@ -13988,6 +14156,16 @@ msgstr "" "El polígono oclusor para este oclusor está vacío. Por favor, dibuja un " "polígono." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14247,13 +14425,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "Un SpotLight con un ángulo superior a 90 grados no puede proyectar sombras." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Se debe crear o establecer un recurso NavigationMesh para que este nodo " -"funcione." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14261,6 +14437,12 @@ msgstr "" "NavigationMeshInstance debe ser hijo o nieto de un nodo Navigation. Ya que " "sólo proporciona los datos de navegación." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "No se ha establecido ninguna forma." @@ -14746,12 +14928,6 @@ msgstr "" "'vértice' o 'ligero'." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"¡No se pudo acceder a la variación de la etapa de fragmento en la función " -"personalizada!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Asignación a función." diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 0899d2422c..23020a7573 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -1,6 +1,6 @@ # Spanish (Argentina) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Diego López <diegodario21@gmail.com>, 2017. # Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2018, 2019, 2020, 2021. @@ -337,6 +337,11 @@ msgid "Duplicate Key(s)" msgstr "Duplicar Clave(s)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Agregar %d Frame(s)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Eliminar Clave(s)" @@ -507,6 +512,11 @@ msgstr "" "única." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Escalar Keys de Anim" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1493,6 +1503,10 @@ msgid "Invalid name." msgstr "Nombre inválido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caracteres válidos:" @@ -1597,7 +1611,9 @@ msgstr "Actualizando escena..." msgid "[empty]" msgstr "[vacío]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[sin guardar]" @@ -1618,6 +1634,7 @@ msgstr "Crear Carpeta" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nombre:" @@ -2119,7 +2136,8 @@ msgid "Properties" msgstr "Propiedades" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "reemplazar(override):" #: editor/editor_help.cpp @@ -2259,6 +2277,20 @@ msgstr "Propiedades del Tema" msgid "Property:" msgstr "Propiedad:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2268,6 +2300,29 @@ msgstr "Asignar %s" msgid "Set Multiple:" msgstr "Asignar Múltiples:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copiar Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Pegar Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copiar Ruta de Script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Salida:" @@ -3092,6 +3147,20 @@ msgstr "" "serán visibles en el proyecto en ejecución." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizar Cambios de Escena" @@ -4223,6 +4292,10 @@ msgstr "Buscar en archivos" msgid "Find:" msgstr "Buscar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Reemplazar:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Carpeta:" @@ -4248,6 +4321,11 @@ msgstr "Encontrar..." msgid "Replace..." msgstr "Reemplazar..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Reemplazar Todo" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Encontrar: " @@ -4257,8 +4335,9 @@ msgid "Replace: " msgstr "Reemplazar: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Reemplazar todo (no se puede deshacer)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Reemplazar Todo" #: editor/find_in_files.cpp msgid "Searching..." @@ -4480,6 +4559,12 @@ msgstr "" "ADVERTENCIA: Existen elementos que utilizan este recurso, podrían dejar de " "cargar correctamente." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Fallo al cargar recurso." @@ -5948,6 +6033,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Arrastrar: Mover el nodo seleccionado." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrastrar: Mover el nodo seleccionado." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Establecer la posición de pivote del nodo seleccionado." @@ -5978,6 +6068,10 @@ msgid "Scale Mode" msgstr "Modo de Escalado" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6074,20 +6168,44 @@ msgstr "Bloquear el objeto seleccionado en su sitio (no se puede mover)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Bloqueo Seleccionado" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Desbloquear el objeto seleccionado (puede ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Desbloquear Seleccionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Asegurarse que los hijos de un objeto no sean seleccionables." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Seleccionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaurar la habilidad de seleccionar los hijos de un objeto." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Seleccionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opciones de Esqueleto" @@ -7733,6 +7851,11 @@ msgid "Find in Files..." msgstr "Buscar en Archivos..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Reemplazar..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Ayuda Contextual" @@ -8257,6 +8380,19 @@ msgid "Toggle Freelook" msgstr "Act./Desact. Vista Libre" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Restablecer a Valores Por Defecto" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transform" @@ -8978,6 +9114,29 @@ msgid "Another Theme" msgstr "Otro Theme" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Añadir Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfiles Disponibles:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "El nombre del archivo está vacío." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "¿Estás seguro/a que quieres abrir más de un proyecto?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Confirmar Cambio de Nombre del Elemento" @@ -9003,18 +9162,6 @@ msgstr "" "de este tipo." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Añadir Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Añadir Tipo de Elemento" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Tipos de Nodo:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Mostrar Valores por Defecto" @@ -9033,6 +9180,10 @@ msgid "Override all default type items." msgstr "Anular todos los elementos de tipo por defecto." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Añadir Tipo de Elemento" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Theme:" @@ -11544,10 +11695,6 @@ msgid "Batch Rename" msgstr "Renombrar en Masa" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Reemplazar:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefijo:" @@ -11842,6 +11989,20 @@ msgstr "" "su lugar." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Guardar Nueva Escena Como..." @@ -12807,63 +12968,69 @@ msgstr "Construir Solución" msgid "End of inner exception stack trace" msgstr "Fin del stack trace de excepción interna" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Se debe crear o setear un recurso NavigationMesh para que este nodo funcione." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Bake NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Restablecer mesh de navegación." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Seteando Configuración..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calculando tamaño de grilla..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Creando campo de alturas..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marcando triangulos caminables..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construyendo campo de alturas compacto..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erocionando area caminable..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Particionando..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Creando contornos..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Creando polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Convirtiendo a mesh de navegación nativo..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Configuración del Generador de Meshes de Navegación:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Parseando Geometría..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Hecho!" @@ -13914,6 +14081,16 @@ msgstr "" "El polígono oclusor para este oclusor está vacío. Por favor, dibujá un " "polígono." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14174,12 +14351,11 @@ msgstr "" "Un SpotLight con un ángulo mas ancho que 90 grados no puede proyectar " "sombras." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Se debe crear o setear un recurso NavigationMesh para que este nodo funcione." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14187,6 +14363,12 @@ msgstr "" "NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo " "provee datos de navegación." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "No se ha establecido ninguna forma." @@ -14669,11 +14851,6 @@ msgstr "" "reasignadas en 'vertex' o 'light'." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"¡No se pudo acceder a la fragment-stage varying en la función personalizada!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Asignación a función." diff --git a/editor/translations/et.po b/editor/translations/et.po index 43cb90beed..acb2a18bcf 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -1,6 +1,6 @@ # Estonian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Jens <arrkiin@gmail.com>, 2019. # Mattias Aabmets <mattias.aabmets@gmail.com>, 2019. @@ -322,6 +322,10 @@ msgid "Duplicate Key(s)" msgstr "Paljunda võti (võtmed)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Kustuta võti (võtmed)" @@ -490,6 +494,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1452,6 +1460,10 @@ msgid "Invalid name." msgstr "Vigane nimi." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Kehtivad märgid:" @@ -1557,7 +1569,9 @@ msgstr "Värskendan stseeni..." msgid "[empty]" msgstr "[tühi]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[salvestamata]" @@ -1578,6 +1592,7 @@ msgstr "Loo kaust" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nimi:" @@ -2082,8 +2097,9 @@ msgid "Properties" msgstr "Atribuudid" #: editor/editor_help.cpp -msgid "override:" -msgstr "" +#, fuzzy +msgid "overrides %s:" +msgstr "Salvesta kõik" #: editor/editor_help.cpp msgid "default:" @@ -2218,6 +2234,20 @@ msgstr "Teema atribuut" msgid "Property:" msgstr "Atribuut:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(väärtus)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2227,6 +2257,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Sea mitu:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Atribuudid" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Atribuudid" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopeeri sõlme tee" + #: editor/editor_log.cpp msgid "Output:" msgstr "Väljund:" @@ -2981,6 +3034,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sünkroniseeri stseeni muudatused" @@ -4053,6 +4120,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4076,6 +4147,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Ava fail(id)" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4085,7 +4161,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4302,6 +4378,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5730,6 +5812,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5758,6 +5844,10 @@ msgid "Scale Mode" msgstr "Skaleerimisrežiim" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5852,20 +5942,44 @@ msgstr "Lukusta valitud objekt praegusele kohale (seda ei saa liigutada)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Kustuta sõlm(ed)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Kustuta sõlm(ed)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Kustuta sõlm(ed)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Kustuta sõlm(ed)" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7471,6 +7585,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Salvesta fail kui..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Kontekstuaalne abi" @@ -8003,6 +8122,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Laadi vaikimisi" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8743,40 +8875,48 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "Tüüp" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +#, fuzzy +msgid "Available Node-based types:" +msgstr "Saadaolevad profiilid:" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "Tüüp" +msgid "Override Item" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Sõlme nimi:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8797,6 +8937,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11162,10 +11306,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11440,6 +11580,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Salvesta uus stseen kui..." @@ -12375,63 +12529,68 @@ msgstr "Poolresolutioon" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13378,6 +13537,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13585,16 +13754,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13990,10 +14165,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Funktsiooni määramine." diff --git a/editor/translations/eu.po b/editor/translations/eu.po index 441210abba..4006cdc00d 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -1,6 +1,6 @@ # Basque translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Julen Irazoki <rktzbkr.julen@gmail.com>, 2019. # Osoitz <oelkoro@gmail.com>, 2019, 2020. @@ -322,6 +322,10 @@ msgid "Duplicate Key(s)" msgstr "Bikoiztu Giltza(k)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Ezabatu Giltza(k)" @@ -492,6 +496,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1460,6 +1468,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1564,7 +1576,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1585,6 +1599,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2063,7 +2078,8 @@ msgid "Properties" msgstr "Propietateak" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "gainidatzi:" #: editor/editor_help.cpp @@ -2199,6 +2215,20 @@ msgstr "Azalaren propietatea" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(balioa)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2208,6 +2238,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Propietateak" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Propietateak" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Propietateak" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2950,6 +3003,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4032,6 +4099,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4055,6 +4126,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Ireki fitxategia(k)" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4064,7 +4140,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4282,6 +4358,12 @@ msgstr "" "ABISUA: Baliabide hau darabiltzaten aktiboak daude, kargatzeari utzi " "liezaiokete." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5707,6 +5789,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5735,6 +5821,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5829,20 +5919,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Bikoiztu hautatutako gakoa(k)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Bikoiztu hautatutako gakoa(k)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Bikoiztu hautatutako gakoa(k)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Bikoiztu hautatutako gakoa(k)" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7448,6 +7562,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7965,6 +8083,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8703,6 +8833,27 @@ msgid "Another Theme" msgstr "Inportatu azala" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Eskuragarri dauden profilak:" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Confirm Item Rename" msgstr "Konfiguratu atxikitzea" @@ -8727,18 +8878,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Show Default" msgstr "Inportatu profila(k)" @@ -8757,6 +8896,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Azala" @@ -11119,10 +11262,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11397,6 +11536,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12329,63 +12482,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13330,6 +13488,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13536,16 +13704,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13941,10 +14115,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/extract.py b/editor/translations/extract.py index 8702ac664c..2594629e5c 100755 --- a/editor/translations/extract.py +++ b/editor/translations/extract.py @@ -36,8 +36,8 @@ unique_loc = {} ctx_group = {} # Store msgctx, msg, and locations. main_po = """ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 60b6eb603a..cea2728671 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -1,6 +1,6 @@ # Persian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # alabd14313 <alabd14313@yahoo.com>, 2016. # Dante Marshal <Marshal.Devilhunter@gmail.com>, 2018. @@ -341,6 +341,10 @@ msgid "Duplicate Key(s)" msgstr "تکرار کلید(ها)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "حذف کلید(key)" @@ -508,6 +512,11 @@ msgid "" msgstr "این گزینه برای اصلاح بِزیِر کار نمی کند, چون تنها یک مسیر واحد است." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "اندازه کلید های متحرک" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1498,6 +1507,10 @@ msgid "Invalid name." msgstr "نام نامعتبر." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "کاراکترهای معتبر:" @@ -1604,7 +1617,9 @@ msgstr "صحنه به روز می شود ..." msgid "[empty]" msgstr "[پوچ]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ذخیره نشده]" @@ -1625,6 +1640,7 @@ msgstr "ایجاد پوشه" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "نام:" @@ -2106,7 +2122,7 @@ msgid "Properties" msgstr "خصوصیات" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2242,6 +2258,20 @@ msgstr "ویژگی زمینه" msgid "Property:" msgstr "ویژگی:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(مقدار)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2251,6 +2281,29 @@ msgstr "تنظیم %s" msgid "Set Multiple:" msgstr "تعیین چندگانه:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "خصوصیات" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "خصوصیات" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "رونوشت مسیر گره" + #: editor/editor_log.cpp msgid "Output:" msgstr "خروجی:" @@ -2993,6 +3046,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4136,6 +4203,11 @@ msgstr "یافتن" msgid "Find:" msgstr "یافتن" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "جایگزینی" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4161,6 +4233,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "جایگزینی همه" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4173,7 +4250,7 @@ msgstr "جایگزینی" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "جایگزینی همه" #: editor/find_in_files.cpp @@ -4401,6 +4478,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5923,6 +6006,11 @@ msgstr "آیا پروندههای انتخاب شده حذف شود؟" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "آیا پروندههای انتخاب شده حذف شود؟" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "ترک انتخاب شده را حذف کن." @@ -5952,6 +6040,10 @@ msgid "Scale Mode" msgstr "انتخاب حالت" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6052,20 +6144,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "همهی انتخاب ها" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "انتخاب شده را حذف کن" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "برداشتن انتخاب شده" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "برداشتن انتخاب شده" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "تنها در قسمت انتخاب شده" @@ -7763,6 +7879,11 @@ msgid "Find in Files..." msgstr "یافتن" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "یافتن" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8308,6 +8429,19 @@ msgid "Toggle Freelook" msgstr "دید آزاد" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "بارگیری پیش فرض" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9101,6 +9235,30 @@ msgstr "عضوها" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "پیدا کردن نوع گره" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "نمایههای موجود:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "مسیر خالی است" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "آیا مطمئن هستید که می خواهید همه اتصالات را از این سیگنال حذف کنید؟" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "تغییر نام ترک انیمشین" @@ -9125,21 +9283,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "پیدا کردن نوع گره" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "افزودن مورد" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "پیدا کردن نوع گره" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "بارگیری پیش فرض" @@ -9157,6 +9300,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "افزودن مورد" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "عضوها" @@ -11659,11 +11807,6 @@ msgid "Batch Rename" msgstr "تغییر نام" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "جایگزینی" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11951,6 +12094,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12963,63 +13120,68 @@ msgstr "همهی انتخاب ها" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -14049,6 +14211,16 @@ msgstr "یک چندضلعی انسدادی باید تنظیم (یا ترسیم) msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "چندضلعی مسدود برای این مسدودکننده، خالی است. لطفا یک چندضلعی رسم کنید!" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14282,11 +14454,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14294,6 +14466,12 @@ msgstr "" "NavigationMeshInstance باید یک فرزند یا نوهی یک گره Navigation باشد. این " "تنها دادهی پیمایش را فراهم میکند." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14711,10 +14889,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 83f743e4ea..f461bb0074 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -1,6 +1,6 @@ # Finnish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # basse <basse@roiske.org>, 2017. # Bastian Salmela <bastian.salmela@gmail.com>, 2017, 2018. @@ -329,6 +329,11 @@ msgid "Duplicate Key(s)" msgstr "Kahdenna avainruudut" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Lisää %d ruutua" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Poista avainruudut" @@ -495,6 +500,11 @@ msgid "" msgstr "Tämä valinta ei käy Bezier-editoinnille, koska se on vain yksi raita." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animaatio: Skaalaa avaimia" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1476,6 +1486,10 @@ msgid "Invalid name." msgstr "Virheellinen nimi." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Kelvolliset merkit:" @@ -1583,7 +1597,9 @@ msgstr "Päivitetään skeneä..." msgid "[empty]" msgstr "[tyhjä]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[tallentamaton]" @@ -1604,6 +1620,7 @@ msgstr "Luo kansio" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nimi:" @@ -2100,7 +2117,8 @@ msgid "Properties" msgstr "Ominaisuudet" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "ylikirjoita:" #: editor/editor_help.cpp @@ -2240,6 +2258,20 @@ msgstr "Teeman ominaisuus" msgid "Property:" msgstr "Ominaisuus:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(arvo)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2249,6 +2281,29 @@ msgstr "Aseta %s" msgid "Set Multiple:" msgstr "Aseta useita:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Kopioi ominaisuudet" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Liitä ominaisuudet" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopioi skriptin polku" + #: editor/editor_log.cpp msgid "Output:" msgstr "Tuloste:" @@ -3058,6 +3113,20 @@ msgstr "" "ajettaessa." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Synkronoi skenen muutokset" @@ -4178,6 +4247,10 @@ msgstr "Etsi tiedostoista" msgid "Find:" msgstr "Etsi:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Korvaa:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Kansio:" @@ -4203,6 +4276,11 @@ msgstr "Etsi..." msgid "Replace..." msgstr "Korvaa..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Korvaa kaikki" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Etsi: " @@ -4212,8 +4290,9 @@ msgid "Replace: " msgstr "Korvaa: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Korvaa kaikki (ei voi perua)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Korvaa kaikki" #: editor/find_in_files.cpp msgid "Searching..." @@ -4437,6 +4516,12 @@ msgstr "" "VAROITUS: Tällä resurssilla on sitä käyttäviä assetteja, ne voivat lakata " "latautumasta kunnolla." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Resurssin lataaminen epäonnistui." @@ -5899,6 +5984,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Vedä: Siirrä valittua solmua." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Vedä: Siirrä valittua solmua." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Aseta nykyisen solmun kääntökeskiön sijainti." @@ -5929,6 +6019,10 @@ msgid "Scale Mode" msgstr "Skaalaustila" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6025,20 +6119,44 @@ msgstr "Lukitse valitut objektit paikalleen (ei voi liikutella)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Lukitse valitut" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Poista valittujen objektien lukitus (voi liikutella)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Vapauta valitut" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Varmistaa, ettei objektin alisolmuja voi valita." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Ryhmitä valitut" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Palauttaa objektin aliobjektien mahdollisuuden tulla valituksi." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Poista ryhmitys valituilta" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Luurangon asetukset" @@ -7682,6 +7800,11 @@ msgid "Find in Files..." msgstr "Etsi tiedostoista..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Korvaa..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Asiayhteydellinen ohje" @@ -8206,6 +8329,19 @@ msgid "Toggle Freelook" msgstr "Kytke liikkuminen päälle/pois" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Palauta oletusarvoihin" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Muunna" @@ -8926,6 +9062,29 @@ msgid "Another Theme" msgstr "Toinen teema" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Lisää tyyppi" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Saatavilla olevat profiilit:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Tiedostonimi on tyhjä." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Haluatko varmasti avata useamman kuin yhden projektin?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Vahvista osan uudelleen nimeäminen" @@ -8950,18 +9109,6 @@ msgstr "" "päivittää kaikkien muiden tämän tyyppisten tyylilaatikoiden ominaisuuksia." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Lisää tyyppi" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Lisää osan tyyppi" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Solmutyypit:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Näytä oletus" @@ -8978,6 +9125,10 @@ msgid "Override all default type items." msgstr "Ylikirjoita kaikki oletustyypin osat." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Lisää osan tyyppi" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Teema:" @@ -11479,10 +11630,6 @@ msgid "Batch Rename" msgstr "Niputettu uudelleennimeäminen" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Korvaa:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Etuliite:" @@ -11776,6 +11923,20 @@ msgstr "" "skeneilmentymästä Skene > Uusi periytetty skene... valikosta." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Tallenna uusi skene nimellä..." @@ -12741,63 +12902,70 @@ msgstr "Muodosta ratkaisu" msgid "End of inner exception stack trace" msgstr "Sisemmän poikkeuksen kutsupinon loppu" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Tälle solmulle täytyy asettaa tai luoda NavigationMesh resurssi, jotta se " +"toimisi." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Kehitä NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Tyhjennä navigointiverkko." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Luodaan konfiguraatiota..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Lasketaan ruudukon kokoa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Luodaan korkeuskenttää..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Merkitään kuljettavat kolmiot..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Rakennetaan tiivistä korkeuskenttää..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Syövytetään kuljettavaa aluetta..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Ositetaan..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Luodaan korkeuskäyriä..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Luodaan polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Muunnetaan alkuperäiseksi navigointiverkoksi..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Navigointiverkon generaattorin asetukset:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Jäsentää geometriaa…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Valmis!" @@ -13827,6 +13995,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Tämän peittäjän peittopolygoni on tyhjä. Ole hyvä ja piirrä polygoni." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14087,13 +14265,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "SpotLight, jonka kulma on suurempi kuin 90 astetta, ei voi heittää varjoja." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Tälle solmulle täytyy asettaa tai luoda NavigationMesh resurssi, jotta se " -"toimisi." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14101,6 +14277,12 @@ msgstr "" "NavigationMeshInstance solmun täytyy olla Navigation solmun alaisuudessa. Se " "tarjoaa vain navigointidataa." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Mitään muotoa ei ole asetettu." @@ -14579,11 +14761,6 @@ msgstr "" "uudelleensijoittaa 'vertex' tai 'light' funktioissa." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"Kuvapistevaiheen varying muuttujaa ei voitu käyttää mukautetussa funktiossa!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Sijoitus funktiolle." diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 76daaee01e..3993213b38 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -1,6 +1,6 @@ # Filipino translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Marco Santos <enum.scima@gmail.com>, 2019. # Amado Wilkins <epicalert68@gmail.com>, 2019. @@ -328,6 +328,10 @@ msgid "Duplicate Key(s)" msgstr "Kopyahin Ang (Mga) Key(s)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Tanggalin Ang (Mga) Key(s)" @@ -491,6 +495,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1444,6 +1452,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1548,7 +1560,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1569,6 +1583,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2042,7 +2057,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2179,6 +2194,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Halaga:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2188,6 +2217,28 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Burahin ang (mga) Napiling Key" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Property Track" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2926,6 +2977,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3990,6 +4055,11 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Palitan" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4013,6 +4083,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Palitan ang Lahat" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4022,8 +4097,9 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Palitan ang Lahat" #: editor/find_in_files.cpp msgid "Searching..." @@ -4236,6 +4312,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5660,6 +5742,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5688,6 +5774,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5782,20 +5872,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "I-duplicate ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "I-duplicate ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "I-duplicate ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "I-duplicate ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7402,6 +7516,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Palitan ang Lahat" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7914,6 +8033,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8633,37 +8764,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8683,6 +8822,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11029,11 +11172,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Palitan" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11307,6 +11445,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12238,63 +12390,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13234,6 +13391,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13440,16 +13607,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13844,10 +14017,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 9040b4b777..ae81d3dbdd 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -1,6 +1,6 @@ # French translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Antoine Carrier <ac.g392@gmail.com>, 2017-2018. # ARocherVj <a.rocher.vj@gmail.com>, 2017. @@ -69,7 +69,7 @@ # Sofiane <Sofiane-77@caramail.fr>, 2019, 2021. # Camille Mohr-Daurat <pouleyketchoup@gmail.com>, 2019. # Pierre Stempin <pierre.stempin@gmail.com>, 2019. -# Pierre Caye <pierrecaye@laposte.net>, 2020, 2021. +# Pierre Caye <pierrecaye@laposte.net>, 2020, 2021, 2022. # Kevin Bouancheau <kevin.bouancheau@gmail.com>, 2020. # LaurentOngaro <laurent@gameamea.com>, 2020. # Julien Humbert <julroy67@gmail.com>, 2020. @@ -90,8 +90,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-10 10:33+0000\n" -"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n" +"PO-Revision-Date: 2022-01-03 03:55+0000\n" +"Last-Translator: Pierre Caye <pierrecaye@laposte.net>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -99,7 +99,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -402,6 +402,11 @@ msgid "Duplicate Key(s)" msgstr "Dupliquer clé(s)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Ajouter %d Trame(s)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Supprimer clé(s)" @@ -575,6 +580,11 @@ msgstr "" "s’agit que d’une seule piste." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Mettre à l’échelle les clés d’animation" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1564,6 +1574,10 @@ msgid "Invalid name." msgstr "Nom invalide." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caractères valides :" @@ -1607,7 +1621,7 @@ msgstr "Supprimer l'AutoLoad" #: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp msgid "Enable" -msgstr "Activer" +msgstr "Enable" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" @@ -1672,7 +1686,9 @@ msgstr "Mise à jour de la scène…" msgid "[empty]" msgstr "[vide]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[non enregistré]" @@ -1693,6 +1709,7 @@ msgstr "Créer un dossier" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nom :" @@ -2195,7 +2212,8 @@ msgid "Properties" msgstr "Propriétés" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "redéfinition :" #: editor/editor_help.cpp @@ -2335,6 +2353,20 @@ msgstr "Propriété du thème" msgid "Property:" msgstr "Propriété :" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valeur)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2344,6 +2376,29 @@ msgstr "Définir %s" msgid "Set Multiple:" msgstr "Définir plusieurs :" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copier les propriétés" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Coller les propriétés" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copier le chemin du script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Sortie :" @@ -3175,6 +3230,20 @@ msgstr "" "option est activée." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Synchroniser les modifications des scènes" @@ -4306,6 +4375,10 @@ msgstr "Rechercher dans les fichiers" msgid "Find:" msgstr "Rechercher :" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Remplacer :" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Dossier :" @@ -4331,6 +4404,11 @@ msgstr "Rechercher…" msgid "Replace..." msgstr "Remplacer…" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Remplacer tout" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Rechercher : " @@ -4340,8 +4418,9 @@ msgid "Replace: " msgstr "Remplacer : " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Remplacer tout (pas de retour en arrière)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Remplacer tout" #: editor/find_in_files.cpp msgid "Searching..." @@ -4564,6 +4643,12 @@ msgstr "" "AVERTISSEMENT : Il existe des atout qui utilisent cette ressource, elles " "pourraient cesser de charger correctement." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Impossible de charger la ressource." @@ -6035,6 +6120,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt + Glisser : Déplacer le nœud sélectionné." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt + Glisser : Déplacer le nœud sélectionné." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V : Définir la position du pivot pour le nœud sélectionné." @@ -6065,6 +6155,10 @@ msgid "Scale Mode" msgstr "Mode mise à l'échelle" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6161,20 +6255,44 @@ msgstr "Verrouiller l'objet sélectionné (il ne pourra plus être déplacé)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Verrouillage Sélectionné" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Déverrouiller l'objet sélectionné (il pourra être déplacé de nouveau)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Déverrouillage Sélectionné" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Rendre la sélection des enfants de l'objet impossible." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Groupe sélectionné" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Rendre la sélection des enfants de l'objet de nouveau possible." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Dégrouper Sélectionné" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Configuration du squelette" @@ -7832,6 +7950,11 @@ msgid "Find in Files..." msgstr "Rechercher dans les fichiers…" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Remplacer…" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Aide contextuelle" @@ -8359,6 +8482,19 @@ msgid "Toggle Freelook" msgstr "Basculer en vue libre" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Réinitialiser aux valeurs par défaut" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformation" @@ -9089,6 +9225,29 @@ msgid "Another Theme" msgstr "Autre thème" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Ajouter un type" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profils disponibles :" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Le nom de fichier est vide." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Voulez-vous vraiment ouvrir plus d'un projet à la fois ?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Confirmer le renommage d'item" @@ -9114,18 +9273,6 @@ msgstr "" "appartenant à ce type." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Ajouter un type" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Ajouter un item de type" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Types de nœud :" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Afficher par défaut" @@ -9143,6 +9290,10 @@ msgid "Override all default type items." msgstr "Surcharge tous les items de type par défaut." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Ajouter un item de type" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Thème :" @@ -11666,10 +11817,6 @@ msgid "Batch Rename" msgstr "Renommer par lot" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Remplacer :" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Préfixe :" @@ -11964,6 +12111,20 @@ msgstr "" "à la place." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Enregistrer la nouvelle scène sous…" @@ -12931,63 +13092,70 @@ msgstr "Compiler la solution" msgid "End of inner exception stack trace" msgstr "Fin de la trace d'appel (stack trace) intrinsèque" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Une ressource de type NavigationMesh doit être définie ou créée pour que ce " +"nœud fonctionne." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Calculer le NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Effacer le maillage de navigation." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Initialisation de la configuration..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calcul de la taille de la grille..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Création du champ de hauteur…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marquage des triangles parcourables..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construction d'un champ de hauteur compact..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Réduction de la zone parcourable..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partitionnement..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Création des contours..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Création d'un maillage de contour…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Conversion en maillage de navigation natif…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Paramétrage du générateur de navigation dans la grille :" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Analyse de la géométrie..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "C'est fait !" @@ -14052,6 +14220,16 @@ msgstr "" "Le polygone d'occultation pour cet occulteur est vide. Veuillez dessiner un " "polygone." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14317,13 +14495,11 @@ msgstr "" "Une SpotLight avec un angle supérieur à 90 degrés ne peut pas projeter " "d'ombres." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Une ressource de type NavigationMesh doit être définie ou créée pour que ce " -"nœud fonctionne." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14331,6 +14507,12 @@ msgstr "" "Un NavigationMeshInstance doit être enfant ou sous-enfant d'un nœud de type " "Navigation. Il fournit uniquement des données de navigation." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Aucune forme n'est définie." @@ -14821,12 +15003,6 @@ msgstr "" "réattribuées dans 'vertex' ou 'light'." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"La varying de l'étape fragment n'a pas pu être accédée dans la fonction " -"personnalisée !" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Affectation à la fonction." diff --git a/editor/translations/ga.po b/editor/translations/ga.po index b7b076d236..d0e6734463 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -1,6 +1,6 @@ # Irish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Rónán Quill <ronan085@gmail.com>, 2019, 2020. msgid "" @@ -319,6 +319,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -482,6 +486,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1436,6 +1444,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1540,7 +1552,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1561,6 +1575,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2034,7 +2049,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2170,6 +2185,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2179,6 +2207,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2918,6 +2966,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3976,6 +4038,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3999,6 +4065,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4008,7 +4078,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4224,6 +4294,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5648,6 +5724,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5676,6 +5756,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5770,20 +5854,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7384,6 +7488,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7897,6 +8005,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8613,37 +8733,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8663,6 +8791,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Amharc ar Chomhaid" @@ -11009,10 +11141,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11285,6 +11413,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12217,63 +12359,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13212,6 +13359,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13418,16 +13575,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13822,10 +13985,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/gl.po b/editor/translations/gl.po index e4339ad9aa..02e2a982b8 100644 --- a/editor/translations/gl.po +++ b/editor/translations/gl.po @@ -1,6 +1,6 @@ # Galician translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Andy Barcia <andybarcia4@gmail.com>, 2021. @@ -322,6 +322,10 @@ msgid "Duplicate Key(s)" msgstr "Duplicar Chave(s)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Eliminar Chave(s)" @@ -490,6 +494,11 @@ msgstr "" "Esta opción non funciona con edición Bezier, xa que é unha única pista." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Escalar Chaves de Animación" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1483,6 +1492,10 @@ msgid "Invalid name." msgstr "Nome inválido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caracteres válidos:" @@ -1589,7 +1602,9 @@ msgstr "Actualizando escena..." msgid "[empty]" msgstr "[baleiro]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[non gardado]" @@ -1610,6 +1625,7 @@ msgstr "Crear Cartafol" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nome:" @@ -2109,7 +2125,8 @@ msgid "Properties" msgstr "Propiedades" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "sobrescribir:" #: editor/editor_help.cpp @@ -2253,6 +2270,20 @@ msgstr "Propiedade de Temas" msgid "Property:" msgstr "Propiedade:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2262,6 +2293,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Establecer Varios:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Propiedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copiar Ruta do Nodo" + #: editor/editor_log.cpp msgid "Output:" msgstr "Saída:" @@ -3080,6 +3134,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizar Cambios na Escena" @@ -4195,6 +4263,10 @@ msgstr "Buscar en Arquivos" msgid "Find:" msgstr "Buscar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Substituír:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Cartafol:" @@ -4220,6 +4292,11 @@ msgstr "Buscar..." msgid "Replace..." msgstr "Substituír..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Substituír Todo" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Buscar: " @@ -4229,8 +4306,9 @@ msgid "Replace: " msgstr "Substituír: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Substituír todo (non se pode defacer)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Substituír Todo" #: editor/find_in_files.cpp msgid "Searching..." @@ -4445,6 +4523,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Fallou a carga do Recurso." @@ -5887,6 +5971,11 @@ msgstr "Alt+Arrastrar: Mover" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrastrar: Mover" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "O nodo seleccionado non é unha Mini-Ventá (Viewport)!" @@ -5918,6 +6007,10 @@ msgid "Scale Mode" msgstr "Modo Escalado" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6014,20 +6107,44 @@ msgstr "Fixar o obxecto no sitio (non se poderá mover)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Eliminar Nodo(s)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Liberar o obxecto seleccionado (pode moverse)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Eliminar Nodo(s)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Asegúrase de que os fillos do obxecto non sexan seleccionables." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Selección" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Volve a permitir seleccionar os fillos do obxecto." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Selección" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7665,6 +7782,11 @@ msgid "Find in Files..." msgstr "Buscar en Arquivos.." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Substituír..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Axuda Contextual" @@ -8216,6 +8338,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Cargar Valores por Defecto" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformación" @@ -8984,6 +9119,30 @@ msgstr "Importar Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfís Dispoñibles:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "O nome de arquivo está baleiro." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Está seguro de que quere abrir máis dun proxecto?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Configurar Axuste de Cuadrícula" @@ -9008,21 +9167,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Engadir Elemento" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Tipo de nodo" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Cargar Valores por Defecto" @@ -9041,6 +9185,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Engadir Elemento" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Tema" @@ -11488,10 +11637,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Substituír:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefixo:" @@ -11765,6 +11910,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12701,63 +12860,68 @@ msgstr "Resolución á Metade" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Particionando..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Feito!" @@ -13737,6 +13901,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13967,16 +14141,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14399,10 +14579,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/he.po b/editor/translations/he.po index 6220b3ec85..3c2ce4ff95 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -1,6 +1,6 @@ # Hebrew translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Daniel <lorddaniel09@gmail.com>, 2018. # Ben Golan <golanben4@gmail.com>, 2017. @@ -338,6 +338,10 @@ msgid "Duplicate Key(s)" msgstr "שכפול מפתח(ות)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "מחיקת מפתח(ות)" @@ -504,6 +508,11 @@ msgid "" msgstr "אפשרות זו אינה פעילה לעריכת בזייה, כי זאת רק רצועה אחת." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "הנפשה - שנה גודל של רצועות מפתח" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1475,6 +1484,10 @@ msgid "Invalid name." msgstr "שם שגוי." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "תווים תקפים:" @@ -1579,7 +1592,9 @@ msgstr "הסצנה מתעדכנת…" msgid "[empty]" msgstr "[ריק]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[לא נשמר]" @@ -1600,6 +1615,7 @@ msgstr "יצירת תיקייה" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "שם:" @@ -2086,7 +2102,8 @@ msgid "Properties" msgstr "מאפיינים" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "דריסה:" #: editor/editor_help.cpp @@ -2227,6 +2244,20 @@ msgstr "מאפיין ערכת עיצוב" msgid "Property:" msgstr "מאפיין:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(ערך)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2236,6 +2267,29 @@ msgstr "קביעת %s" msgid "Set Multiple:" msgstr "קביעה מרובה:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "מאפיינים" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "מאפיינים" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "העתקת נתיב הסקריפט" + #: editor/editor_log.cpp msgid "Output:" msgstr "פלט:" @@ -3022,6 +3076,20 @@ msgid "" msgstr "רשתות ניווט ומצולעים יהיו גלויים בהרצת המשחק אם אפשרות זאת מופעלת." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "סנכרון השינויים בסצנה" @@ -4157,6 +4225,11 @@ msgstr "איתור בקבצים" msgid "Find:" msgstr "איתור" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "להחליף " + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4181,6 +4254,11 @@ msgstr "איתור…" msgid "Replace..." msgstr "החלפה…" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "להחליף הכול" + #: editor/find_in_files.cpp msgid "Find: " msgstr "איתור " @@ -4191,7 +4269,7 @@ msgstr "להחליף " #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "להחליף הכול" #: editor/find_in_files.cpp @@ -4420,6 +4498,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "טעינת המשאב נכשלה." @@ -5918,6 +6002,11 @@ msgstr "מחיקת המרובע שנבחר." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "מחיקת המרובע שנבחר." + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "הסרת מפרק או מעברון שנבחרו." @@ -5947,6 +6036,10 @@ msgid "Scale Mode" msgstr "מצב שינוי קנה מידה (R)" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6049,20 +6142,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "בחירת מיקוד" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "בחירת מיקוד" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "הסרת הבחירה" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "הסרת הבחירה" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "יחידני" @@ -7738,6 +7855,11 @@ msgid "Find in Files..." msgstr "איתור…" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "החלפה…" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "עזרה תלוית הקשר" @@ -8290,6 +8412,19 @@ msgid "Toggle Freelook" msgstr "החלפת מצב מבט חופשי" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "איפוס לברירת מחדל" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "התמרה" @@ -9078,6 +9213,30 @@ msgstr "ייבוא ערכת עיצוב" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "סוג" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "פרופילים זמינים:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "שם הקובץ ריק." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "האם אתה בטוח שאתה רוצה להסיר את כל החיבורים מהאות הזה?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "הגדרת הצמדה" @@ -9103,20 +9262,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "סוג" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "איתור סוג מפרק" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "טעינת בררת המחדל" @@ -9134,6 +9279,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "שמירת ערכת העיצוב" @@ -11611,11 +11760,6 @@ msgid "Batch Rename" msgstr "שינוי שם" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "להחליף " - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11904,6 +12048,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "שמירת סצנה חדשה בשם…" @@ -12862,63 +13020,68 @@ msgstr "מילוי הבחירה" msgid "End of inner exception stack trace" msgstr "סוף מחסנית מעקב לחריגה פנימית" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "יש להגדיר או ליצור משאב NavigationMesh כדי שצומת זה יפעל." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "אפיית NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "ניקוי רשת הניווט." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "הגדרת תצורה..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "חישוב גודל רשת..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "יצירת שדה גובה..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "סימון משולשים הניתנים להליכה..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "בונה שדה גובה קומפקטי..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "שחיקת השטח הניתן להליכה..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "יצירת מחיצות..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "יצירת קווי מתאר..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "יצירת polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "המרה לרשת ניווט מקומית..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "הגדרת מחולל רשת ניווט:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "ניתוח גיאומטרי..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "בוצע!" @@ -13926,6 +14089,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14167,11 +14340,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight עם זווית רחבה מ-90 מעלות אינו יכול להטיל צללים." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "יש להגדיר או ליצור משאב NavigationMesh כדי שצומת זה יפעל." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14179,6 +14352,12 @@ msgstr "" "NavigationMeshInstance חייב להיות ילד או נכד למפרק Navigation. הוא מספק רק " "נתוני ניווט." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14615,10 +14794,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "השמה לפונקציה." diff --git a/editor/translations/hi.po b/editor/translations/hi.po index ee434b6b24..29d59d3ee1 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -1,6 +1,6 @@ # Hindi translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abhas Kumar Sinha <abhaskumarsinha@gmail.com>, 2017. # Suryansh5545 <suryanshpathak5545@gmail.com>, 2018, 2020. @@ -331,6 +331,10 @@ msgid "Duplicate Key(s)" msgstr "डुप्लीकेट कुंजी (ओं)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "कुंजी को हटाएं" @@ -499,6 +503,11 @@ msgid "" msgstr "यह विकल्प बेज़ियर संपादन के लिए काम नहीं करता है, क्योंकि यह केवल एक ही ट्रैक है।" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "एनिमेटेड स्केल कुंजी" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1485,6 +1494,10 @@ msgid "Invalid name." msgstr "अमान्य नाम." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "मान्य अक्षर:" @@ -1590,7 +1603,9 @@ msgstr "सीन अपडेट कर रहा है..." msgid "[empty]" msgstr "[खाली]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[अनसेव्ड]" @@ -1611,6 +1626,7 @@ msgstr "फ़ोल्डर बनाइये" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "नाम:" @@ -2107,7 +2123,8 @@ msgid "Properties" msgstr "विशेषता" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "अधिभावी करता है:" #: editor/editor_help.cpp @@ -2247,6 +2264,20 @@ msgstr "थिम प्रोपर्टी" msgid "Property:" msgstr "प्रोपर्टी:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(मूल्य)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2256,6 +2287,29 @@ msgstr "" msgid "Set Multiple:" msgstr "अनेक सेट करे:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "विशेषता" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "विशेषता" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "विशेषता" + #: editor/editor_log.cpp msgid "Output:" msgstr "परिणाम:" @@ -3049,6 +3103,20 @@ msgstr "" "देंगे।" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "दृश्य संशोधन सिंक्रनाइज़ करें" @@ -4178,6 +4246,11 @@ msgstr "फ़ाइलों मे तलाशिये" msgid "Find:" msgstr "तलाशिये:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "बदले" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "फ़ोल्डर:" @@ -4202,6 +4275,11 @@ msgstr "तलाशिये..." msgid "Replace..." msgstr "बदली करे..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "सबको बदली करें" + #: editor/find_in_files.cpp msgid "Find: " msgstr "तलाशिये: " @@ -4211,8 +4289,9 @@ msgid "Replace: " msgstr "बदली करे: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "सभी बदली करे (इसे अंडू नहीं किया जा सकता है)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "सबको बदली करें" #: editor/find_in_files.cpp msgid "Searching..." @@ -4428,6 +4507,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5859,6 +5944,11 @@ msgstr "चयनित फ़ाइलें हटाएं?" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "चयनित फ़ाइलें हटाएं?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "चयनित नोड या संक्रमण निकालें।" @@ -5887,6 +5977,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5981,20 +6075,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "को हटा दें" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "चयनित चाबी (फ़ाइलें) डुप्लिकेट" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "समूह चयनित" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "असमूह चयनित" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7634,6 +7752,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "बदली करे..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8155,6 +8278,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "प्रायिक लोड कीजिये" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8919,41 +9055,50 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "त्रिकोण जोड़ें" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +#, fuzzy +msgid "Available Node-based types:" +msgstr "उपलब्ध प्रोफ़ाइल:" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Override Item" -msgstr "मौजूदा के ऊपर लिखे" +msgid "Are you sure you want to create an empty type?" +msgstr "क्या आप सुनिश्चित हैं कि आप इस सिग्नल से सभी कनेक्शन हटाना चाहते हैं?" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "त्रिकोण जोड़ें" +msgid "Override Item" +msgstr "मौजूदा के ऊपर लिखे" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "नोड का नाम:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8974,6 +9119,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "खोलो इसे" @@ -11390,11 +11539,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "बदले" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11673,6 +11817,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12632,63 +12790,68 @@ msgstr "सभी खंड" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13664,6 +13827,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13872,16 +14045,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14281,10 +14460,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index 7dda3e5a1d..a5279a9099 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -1,6 +1,6 @@ # Croatian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Unlimited Creativity <marinosah1@gmail.com>, 2019. # Patik <patrikfs5@gmail.com>, 2019. @@ -321,6 +321,10 @@ msgid "Duplicate Key(s)" msgstr "Duplicirani ključ(evi)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Obriši ključ(eve)" @@ -485,6 +489,11 @@ msgstr "" "Ova opcija ne radi za editiranje Beziera, zato što je samo jedna staza." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Skaliraj Ključeve" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1455,6 +1464,10 @@ msgid "Invalid name." msgstr "Nevažeće ime." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Važeći znakovi:" @@ -1559,7 +1572,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1580,6 +1595,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2059,7 +2075,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2195,6 +2211,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(vrijednost)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2204,6 +2234,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Omogućena Svojstva:" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Omogućena Svojstva:" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Omogućena Svojstva:" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2943,6 +2996,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4010,6 +4077,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Zamijeni:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4033,6 +4104,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Zamijeni sve" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4042,8 +4118,9 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Zamijeni sve" #: editor/find_in_files.cpp msgid "Searching..." @@ -4262,6 +4339,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5686,6 +5769,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5714,6 +5801,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5808,20 +5899,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Duplikati Odabranih Ključeva" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Duplikati Odabranih Ključeva" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Duplikati Odabranih Ključeva" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Duplikati Odabranih Ključeva" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7433,6 +7548,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Zamijeni sve" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7949,6 +8069,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Učitaj Zadano" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8674,39 +8807,49 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" -msgstr "" +#, fuzzy +msgid "Available Node-based types:" +msgstr "Dostupni Profili:" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +#, fuzzy +msgid "Type name is empty!" +msgstr "Naziv datoteke je prazan." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Jesi li siguran da želiš ukloniti sve veze s ovog signala?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Naziv Čvora(node):" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8726,6 +8869,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11086,10 +11233,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Zamijeni:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11363,6 +11506,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12297,63 +12454,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13297,6 +13459,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13503,16 +13675,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13908,10 +14086,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index c4d0d72376..722be28839 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -1,6 +1,6 @@ # Hungarian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Árpád Horváth <horvatha4@googlemail.com>, 2018. # Nagy Lajos <neutron9707@gmail.com>, 2017. @@ -21,13 +21,14 @@ # Frontrider <frontrider@tutanota.com>, 2021. # Andras Virag <snowflake71@gmail.com>, 2021. # balintmaci <balintmaci@gmail.com>, 2021. +# Balázs Püspök-Kiss <pkblazsak@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-06 21:44+0000\n" -"Last-Translator: balintmaci <balintmaci@gmail.com>\n" +"PO-Revision-Date: 2021-12-23 15:30+0000\n" +"Last-Translator: Balázs Püspök-Kiss <pkblazsak@gmail.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/" "godot/hu/>\n" "Language: hu\n" @@ -35,7 +36,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -338,6 +339,10 @@ msgid "Duplicate Key(s)" msgstr "Kulcs(ok) Megkettőzése" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Kulcs(ok) Törlése" @@ -509,6 +514,11 @@ msgstr "" "Ez az opció nem működik Bezier szerkesztésre, mert ez csak egyetlen sáv." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animáció - Kulcsok Nyújtása" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1492,6 +1502,10 @@ msgid "Invalid name." msgstr "Érvénytelen név." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Érvényes karakterek:" @@ -1599,7 +1613,9 @@ msgstr "Scene frissítése..." msgid "[empty]" msgstr "[üres]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[nincs mentve]" @@ -1620,6 +1636,7 @@ msgstr "Mappa Létrehozása" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Név:" @@ -1764,7 +1781,7 @@ msgstr "Beépített hozzáférést ad a Csomagkönyvtárhoz." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Engedélyezi a Node hierarchia szerkesztését a Jelenet dokkban." #: editor/editor_feature_profile.cpp msgid "" @@ -2122,7 +2139,8 @@ msgid "Properties" msgstr "Tulajdonságok" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "felülírja:" #: editor/editor_help.cpp @@ -2266,6 +2284,20 @@ msgstr "Téma tulajdonság" msgid "Property:" msgstr "Tulajdonság:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(érték)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2275,6 +2307,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Többszörös beállítása:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Tulajdonságok" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Tulajdonságok" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Szkript Útvonal Másolása" + #: editor/editor_log.cpp msgid "Output:" msgstr "Kimenet:" @@ -3095,6 +3150,20 @@ msgstr "" "lesznek a játék futásakor." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Jelenet Változások Szinkronizálása" @@ -4215,6 +4284,10 @@ msgstr "Keresés a fájlokban" msgid "Find:" msgstr "Keres:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Csere:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Mappa:" @@ -4238,6 +4311,11 @@ msgstr "Keresés..." msgid "Replace..." msgstr "Csere..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Összes cseréje" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Keres: " @@ -4247,8 +4325,9 @@ msgid "Replace: " msgstr "Csere: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Összes lecserélése (nem visszavonható)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Összes cseréje" #: editor/find_in_files.cpp msgid "Searching..." @@ -4465,6 +4544,12 @@ msgstr "" "FIGYELMEZTETÉS: Vannak olyan eszközök, amelyek ezt az erőforrást használják, " "ezért leállíthatják a megfelelő betöltést." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Nem sikerült betölteni az erőforrást." @@ -5921,6 +6006,11 @@ msgstr "Alt + Húzás: Mozgatás" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt + Húzás: Mozgatás" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Kiválasztott node vagy átmenet eltávolítása." @@ -5952,6 +6042,10 @@ msgid "Scale Mode" msgstr "Méretezési mód" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6048,20 +6142,44 @@ msgstr "A kiválasztott objektum zárolása (nem lesz mozgatható)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Kijelölés zárolása" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "A kiválasztott objektum feloldása (mozgatható lesz)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Kijelölés feloldása" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Kiválaszthatatlanná teszi az objektum gyermekeit." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Kijelöltek csoportosítása" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Újra kiválaszthatóvá teszi az objektum gyermekeit." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "kijelölt csoportok szétbontása" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Csontváz beállítások" @@ -7688,6 +7806,11 @@ msgid "Find in Files..." msgstr "Keresés a fájlokban..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Csere..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Kontextusérzékeny Súgó" @@ -8227,6 +8350,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Visszaállítás Alapértelmezettre" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8989,6 +9125,30 @@ msgstr "Téma Importálása" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Node típus keresése" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Elérhető profilok:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "A fájlnév üres." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Biztos, hogy egynél több projektet nyit meg?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Animáció nyomvonal átnevezés" @@ -9014,21 +9174,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Node típus keresése" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Elem Hozzáadása" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Node típusa" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Alapértelmezett Betöltése" @@ -9047,6 +9192,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Elem Hozzáadása" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Téma Mentése" @@ -11407,10 +11557,6 @@ msgid "Batch Rename" msgstr "Csoportos átnevezés" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Csere:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11687,6 +11833,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12625,63 +12785,68 @@ msgstr "Kijelölés kitöltése" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Navigációs háló törlése." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Konfiguráció beállítása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Rácsméret kiszámítása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Magasságmező létrehozása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Járható háromszögek megjelölése…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Kompakt magasságmező kiépítése…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Járható terület lepusztítása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Particionálás…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Kontúrok létrehozása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Polymesh létrehozása…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Átkonvertálás natív navigációs hálóra…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Navigációs Háló Generátor Beállítás:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Geometria Elemzése…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Kész!" @@ -13644,6 +13809,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13852,16 +14027,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14260,10 +14441,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/id.po b/editor/translations/id.po index c72e39eebd..686536da75 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -1,6 +1,6 @@ # Indonesian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abdul Aziz Muslim Alqudsy <abdul.aziz.muslim.alqudsy@gmail.com>, 2016. # Andevid Dynmyn <doyan4forum@gmail.com>, 2016. @@ -352,6 +352,11 @@ msgid "Duplicate Key(s)" msgstr "Duplikat Key" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Tambah %d Frame" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Hapus Key" @@ -520,6 +525,11 @@ msgid "" msgstr "Opsi ini tidak bisa untuk mengedit Bezier, karena hanya satu track." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Skala Kunci Anim" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1501,6 +1511,10 @@ msgid "Invalid name." msgstr "Nama tidak sah." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Karakter sah:" @@ -1606,7 +1620,9 @@ msgstr "Memperbarui skena..." msgid "[empty]" msgstr "[kosong]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[belum disimpan]" @@ -1627,6 +1643,7 @@ msgstr "Buat Folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nama:" @@ -2124,7 +2141,8 @@ msgid "Properties" msgstr "Properti" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "menimpa:" #: editor/editor_help.cpp @@ -2268,6 +2286,20 @@ msgstr "Properti Tema" msgid "Property:" msgstr "Properti:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(nilai)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2277,6 +2309,29 @@ msgstr "Setel %s" msgid "Set Multiple:" msgstr "Terapkan Bersamaan:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Salin Properti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Tempel Properti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Salin Lokasi Skrip" + #: editor/editor_log.cpp msgid "Output:" msgstr "Keluaran:" @@ -3090,6 +3145,20 @@ msgstr "" "Navigasi dan poligon akan terlihat saat game berjalan jika opsi ini aktif." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sinkronkan Perubahan Skena" @@ -4206,6 +4275,10 @@ msgstr "Cari dalam Berkas" msgid "Find:" msgstr "Cari:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Ganti:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Direktori:" @@ -4231,6 +4304,11 @@ msgstr "Cari..." msgid "Replace..." msgstr "Gantikan..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Ganti Semua" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Cari: " @@ -4240,8 +4318,9 @@ msgid "Replace: " msgstr "Ganti: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Ganti Semua (tidak bisa dikembalikan)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Ganti Semua" #: editor/find_in_files.cpp msgid "Searching..." @@ -4457,6 +4536,12 @@ msgstr "" "PERINGATAN: Ada aset-aset yang menggunakan resource ini, mereka mungkin akan " "berhenti untuk termuat secara sempurna." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Gagal memuat resource." @@ -5912,6 +5997,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Seret: Pindahkan node terpilih." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Seret: Pindahkan node terpilih." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Atur posisi pivot node terpilih." @@ -5942,6 +6032,10 @@ msgid "Scale Mode" msgstr "Mode Skala" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6038,20 +6132,44 @@ msgstr "Kunci objek terpilih di tempat (tidak dapat di pindah)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Kunci yang Dipilih" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Buka kunci objek terpilih (dapat di pindah)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Lepas Kunci yang Dipilih" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Pastikan anak-anak objek tidak dapat diseleksi." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Kelompokkan yang Dipilih" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Jadikan anak-anak object dapat di seleksi kembali." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Keluarkan yang dipilih dari Grup" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opsi Pertulangan" @@ -7697,6 +7815,11 @@ msgid "Find in Files..." msgstr "Cari Dalam Berkas..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Gantikan..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Bantuan Kontekstual" @@ -8226,6 +8349,19 @@ msgid "Toggle Freelook" msgstr "Aktifkan Mode Tampilan Bebas" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Reset ke Default" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformasi" @@ -8982,6 +9118,30 @@ msgstr "Impor Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Tipe" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profil yang Tersedia:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Nama berkas kosong." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Apakah Anda yakin membuka lebih dari satu proyek?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Namai Kembali Trek Anim" @@ -9007,20 +9167,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tipe" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Tambah Item" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Tipe node:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Muat Default" @@ -9038,6 +9184,11 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Add Item Type" +msgstr "Tambah Item" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -11565,10 +11716,6 @@ msgid "Batch Rename" msgstr "Ubah Nama Massal" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Ganti:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Awalan:" @@ -11850,6 +11997,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Simpan Skena Baru sebagai..." @@ -12816,63 +12977,70 @@ msgstr "Isi Pilihan" msgid "End of inner exception stack trace" msgstr "Akhir dari inner exception stack trace" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Sebuah resource NavigationMesh harus diatur atau diciptakan supaya node ini " +"bekerja." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Panggang NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Bersihkan mesh navigasi." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Menyiapkan Konfigurasi..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Menghitung ukuran kisi..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Membuat bidang ketinggian..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Segitiga penanda walkable..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Membangun dataran tinggi..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Mengikis area jalan..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Mempartisi..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Membuat kontur..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Membuat polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Mengkonversi ke mesh navigasi native..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Pengaturan Generator Navigasi Mesh:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Mengurai Geometri..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Selesai!" @@ -13902,6 +14070,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "Polygon occluder untuk occluder ini kosong. Mohon gambar dulu sebuah poligon." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14161,13 +14339,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "SpotLight dengan sudut lebih dari 90 derajat tidak dapat memberikan bayangan." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Sebuah resource NavigationMesh harus diatur atau diciptakan supaya node ini " -"bekerja." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14175,6 +14351,12 @@ msgstr "" "NavigationMeshInstance harus menjadi child atau grandchild untuk sebuah node " "Navigation. Ini hanya menyediakan data navigasi." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14630,10 +14812,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Penugasan ke fungsi." diff --git a/editor/translations/is.po b/editor/translations/is.po index 45656f16a8..99a2daa775 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -1,6 +1,6 @@ # Icelandic translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017, 2018, 2020. # Kaan Gül <qaantum@hotmail.com>, 2018. @@ -339,6 +339,10 @@ msgid "Duplicate Key(s)" msgstr "Tvíteknir lyklar" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "Anim DELETE-lyklar" @@ -510,6 +514,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Færa lykla af Anim" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1471,6 +1480,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1575,7 +1588,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1596,6 +1611,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2072,7 +2088,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2208,6 +2224,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2217,6 +2246,28 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Fjarlægja val" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Tvíteknir lyklar" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2959,6 +3010,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4024,6 +4089,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4047,6 +4116,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4056,7 +4129,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4273,6 +4346,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5720,6 +5799,11 @@ msgstr "Afrita val" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Afrita val" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Fjarlægja val" @@ -5748,6 +5832,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5842,20 +5930,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Anim DELETE-lyklar" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Afrita val" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Fjarlægja val" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Fjarlægja val" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7468,6 +7580,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7981,6 +8097,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8712,39 +8840,47 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "Anim bæta við lag" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Cancel Item Rename" -msgstr "Endurnefning Anim track" +msgid "Available Node-based types:" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Anim bæta við lag" +msgid "Cancel Item Rename" +msgstr "Endurnefning Anim track" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8764,6 +8900,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11152,10 +11292,6 @@ msgid "Batch Rename" msgstr "Endurnefning Anim track" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11432,6 +11568,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12371,63 +12521,68 @@ msgstr "Allt úrvalið" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13375,6 +13530,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13581,16 +13746,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13985,10 +14156,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index 0f5d996449..18b4fe4bce 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -1,6 +1,6 @@ # Italian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Alessio Corridori <alessiocorridori@hotmail.com>, 2018. # Dario Bonfanti <bonfi.96@hotmail.it>, 2016-2017. @@ -59,17 +59,18 @@ # Alessandro Mandelli <mandelli.alessandro@ngi.it>, 2021. # Jusef Azzolina <rosarioazzolina33@gmail.com>, 2021. # Daniele Basso <tiziodcaio@gmail.com>, 2021. -# Riteo Siuga <riteo@posteo.net>, 2021. +# Riteo Siuga <riteo@posteo.net>, 2021, 2022. # Luigi <luibass92@live.it>, 2021. # Micky <micheledevita2@gmail.com>, 2021. # Fabio Plos <altre0cose@gmail.com>, 2021. # Theraloss <danilo.polani@gmail.com>, 2021. +# Pietro Grungo <pietro.grungo@libero.it>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-19 08:43+0000\n" +"PO-Revision-Date: 2022-01-06 01:53+0000\n" "Last-Translator: Riteo Siuga <riteo@posteo.net>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" @@ -78,7 +79,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -380,6 +381,11 @@ msgid "Duplicate Key(s)" msgstr "Duplica i fotogrammi chiave selezionati" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Aggiungi %d frame" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Elimina i fotogrammi chiave selezionati" @@ -553,6 +559,11 @@ msgstr "" "si tratta di una singola traccia." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Scala delle chiavi d'animazione" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -682,7 +693,7 @@ msgstr "Crea traccia/e di rispristino" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "Ottimizzatore anim." +msgstr "Ottimizzatore animazioni" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" @@ -1386,7 +1397,6 @@ msgid "Toggle Audio Bus Mute" msgstr "Commuta l'ammutolimento di un bus audio" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Bypass Effects" msgstr "Commuta il bypass degli effetti del bus audio" @@ -1538,6 +1548,10 @@ msgid "Invalid name." msgstr "Nome non valido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caratteri validi:" @@ -1644,7 +1658,9 @@ msgstr "Aggiornamento della scena..." msgid "[empty]" msgstr "[vuoto]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[non salvato]" @@ -1665,6 +1681,7 @@ msgstr "Crea una cartella" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nome:" @@ -1849,10 +1866,8 @@ msgstr "" "annullato." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Profile must be a valid filename and must not contain '.'" -msgstr "" -"Il profilo deve essere un nome di file valido e non può contenere \".\"" +msgstr "Il profilo deve avere un nome valido e non può contenere \".\"" #: editor/editor_feature_profile.cpp msgid "Profile with this name already exists." @@ -1884,7 +1899,7 @@ msgstr "Proprietà delle classi:" #: editor/editor_feature_profile.cpp msgid "Main Features:" -msgstr "Funzionalità Principali" +msgstr "Funzionalità Principali:" #: editor/editor_feature_profile.cpp msgid "Nodes and Classes:" @@ -1945,7 +1960,7 @@ msgstr "Configura il profilo selezionato:" #: editor/editor_feature_profile.cpp msgid "Extra Options:" -msgstr "Opzioni Addizionali" +msgstr "Opzioni aggiuntive:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." @@ -2170,7 +2185,8 @@ msgid "Properties" msgstr "Proprietà" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "sovrascrivi:" #: editor/editor_help.cpp @@ -2186,9 +2202,8 @@ msgid "Theme Properties" msgstr "Proprietà del tema" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Colore" +msgstr "Colori" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" @@ -2203,9 +2218,8 @@ msgid "Icons" msgstr "Icone" #: editor/editor_help.cpp -#, fuzzy msgid "Styles" -msgstr "Stile" +msgstr "Stili" #: editor/editor_help.cpp msgid "Enumerations" @@ -2312,6 +2326,20 @@ msgstr "Proprietà del tema" msgid "Property:" msgstr "Proprietà:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valore)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2321,6 +2349,29 @@ msgstr "Imposta %s" msgid "Set Multiple:" msgstr "Imposta più valori:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copia Proprietà" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Incolla Proprietà" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copia il percorso dello script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Output:" @@ -2643,7 +2694,7 @@ msgstr "Salvare le modifiche a \"%s\" prima di chiudere?" #: editor/editor_node.cpp msgid "%s no longer exists! Please specify a new save location." -msgstr "%s non esiste più! Specificare una nuova posizione di salvataggio" +msgstr "%s non esiste più! Specificare una nuova posizione di salvataggio." #: editor/editor_node.cpp msgid "" @@ -2659,7 +2710,7 @@ msgid "" "Scene tree dock." msgstr "" "È necessario un nodo principale per salvare la scena. Puoi aggiungerne uno " -"nel pannello di scena" +"nel pannello di scena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2691,7 +2742,7 @@ msgstr "Scena attuale non salvata. Aprire comunque?" #: editor/editor_node.cpp msgid "Can't undo while mouse buttons are pressed." -msgstr "Impossible annullare quando i bottoni del mouse sono premuti" +msgstr "Impossibile tornare indietro mentre i tasti del mouse sono premuti." #: editor/editor_node.cpp msgid "Nothing to undo." @@ -3144,6 +3195,20 @@ msgstr "" "saranno visibili nel progetto in esecuzione." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizza i cambiamenti delle scene" @@ -3261,7 +3326,6 @@ msgid "Support Godot Development" msgstr "Supporta lo sviluppo di Godot" #: editor/editor_node.cpp -#, fuzzy msgid "Play the project." msgstr "Esegui il progetto." @@ -3311,7 +3375,6 @@ msgid "Update Continuously" msgstr "Aggiorna continuamente" #: editor/editor_node.cpp -#, fuzzy msgid "Update When Changed" msgstr "Aggiorna quando modificata" @@ -3340,10 +3403,9 @@ msgid "Don't Save" msgstr "Non salvare" #: editor/editor_node.cpp -#, fuzzy msgid "Android build template is missing, please install relevant templates." msgstr "" -"Modello di costruzione di Android mancante, si prega di installare i modelli " +"Il modello di costruzione di Android manca, si prega di installare i modelli " "rilevanti." #: editor/editor_node.cpp @@ -3398,7 +3460,6 @@ msgid "Template Package" msgstr "Pacchetto di modelli" #: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Library" msgstr "Esporta Libreria" @@ -3481,9 +3542,8 @@ msgid "No sub-resources found." msgstr "Nessuna sottorisorsa trovata." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Apre una lista di sottorisorse." +msgstr "Apri una lista di sottorisorse." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3532,9 +3592,8 @@ msgid "Frame Time (ms)" msgstr "Durata di un fotogramma (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Tempo medio (sec)" +msgstr "Tempo medio (ms)" #: editor/editor_profiler.cpp #, fuzzy @@ -3635,7 +3694,6 @@ msgid "Pick a Viewport" msgstr "Selezionare una vista" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "Selected node is not a Viewport!" msgstr "Il nodo selezionato non è un Viewport!" @@ -3673,7 +3731,6 @@ msgstr "" "questa proprietà (%s)." #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Quick Load" msgstr "Caricamento rapido" @@ -3696,7 +3753,6 @@ msgid "Paste" msgstr "Incolla" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "Converti in %s" @@ -3724,9 +3780,8 @@ msgstr "" "esistente come eseguibile." #: editor/editor_run_script.cpp -#, fuzzy msgid "Write your logic in the _run() method." -msgstr "Inserire la logica dello script nel metodo _run()." +msgstr "Inserisci la logica dello script nel metodo _run()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." @@ -3749,10 +3804,9 @@ msgid "Did you forget the '_run' method?" msgstr "Hai dimenticato il metodo \"_run\"?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Tenere premuto %s per arrotondare ai numeri interi. Tenere premuto Shift per " +"Tieni premuto %s per arrotondare ai numeri interi. Tieni premuto Shift per " "modifiche più precise." #: editor/editor_sub_scene.cpp @@ -3780,14 +3834,12 @@ msgid "Uninstall these templates." msgstr "Disinstalla questi modelli." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "File \"%s\" assente." +msgstr "Non ci sono mirror disponibili." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Recupero dei mirror, attendi..." +msgstr "Recupero dei mirror..." #: editor/export_template_manager.cpp msgid "Starting the download..." @@ -3798,23 +3850,20 @@ msgid "Error requesting URL:" msgstr "Errore nella richiesta URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Connessione al mirror in corso..." +msgstr "Connessione al mirror..." #: editor/export_template_manager.cpp msgid "Can't resolve the requested address." msgstr "Impossibile risolvere l'hostname." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Impossibile connettersi all'host." +msgstr "Impossibile connettersi al mirror." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Nessuna risposta dall'host:" +msgstr "Nessuna risposta dal mirror." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3984,9 +4033,8 @@ msgid "Uninstall templates for the current version." msgstr "Disinstalla template dalla versione attuale." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Errore durante il download" +msgstr "Scarica da:" #: editor/export_template_manager.cpp #, fuzzy @@ -4304,6 +4352,10 @@ msgstr "Trova nei File" msgid "Find:" msgstr "Trova:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Sostituisci:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Cartella:" @@ -4329,6 +4381,11 @@ msgstr "Trova..." msgid "Replace..." msgstr "Sostituisci..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Sostituisci tutti" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Trova: " @@ -4339,8 +4396,8 @@ msgstr "Sostituisci: " #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" -msgstr "Sostituisci tutto (non annullabile)" +msgid "Replace All (NO UNDO)" +msgstr "Sostituisci tutti" #: editor/find_in_files.cpp msgid "Searching..." @@ -4561,6 +4618,12 @@ msgstr "" "ATTENZIONE: Esistono dei contenuti che utilizzano questa risorsa, potrebbero " "non essere più caricati correttamente." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Caricamento della risorsa fallito." @@ -4885,9 +4948,8 @@ msgid "Blend:" msgstr "Blend:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Parametro Modificato" +msgstr "Parametro modificato:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -6036,6 +6098,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Trascina: Muovi nodo selezionato." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Trascina: Muovi nodo selezionato." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Imposta il perno di rotazione del nodo selezionato." @@ -6066,6 +6133,10 @@ msgid "Scale Mode" msgstr "Modalità scala" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6179,20 +6250,44 @@ msgstr "Blocca l'oggetto selezionato sul posto (non può essere mosso)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Blocca selezionato(i)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Sblocca l'oggetto selezionato (può essere mosso)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Sblocca selezionato(i)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Accerta che I figli dell'oggetto non siano selezionabili." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Raggruppa Selezionato(i)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Ripristina l'abilità dei figli dell'oggetto di essere selezionati." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Rimuovi selezionato(i) dal gruppo" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opzioni Scheletro" @@ -6650,9 +6745,8 @@ msgid "No mesh to debug." msgstr "Nessuna mesh da debuggare." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "Il modello non ha UV su questo layer" +msgstr "Il modello non ha UV sul layer %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -7408,14 +7502,12 @@ msgid "Flip Portals" msgstr "Ribalta orizzontalmente" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Conteggio Punti Generati:" +msgstr "Genera punti nella stanza" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Conteggio Punti Generati:" +msgstr "Genera punti" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy @@ -7863,6 +7955,11 @@ msgid "Find in Files..." msgstr "Trova nei file..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Sostituisci..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Aiuto contestuale" @@ -8115,9 +8212,8 @@ msgid "Surface Changes:" msgstr "Cambiamenti delle superfici:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Draw Calls" +msgstr "Draw Calls:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Vertices:" @@ -8396,6 +8492,19 @@ msgid "Toggle Freelook" msgstr "Commuta la vista libera" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Ripristina le impostazioni predefinite" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Trasforma" @@ -8841,9 +8950,8 @@ msgid "Importing items {n}/{n}" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Uscire dall'editor?" +msgstr "Aggiornamento dell'editor" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8859,14 +8967,12 @@ msgid "With Data" msgstr "Con i Dati" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Scegli un Nodo" +msgstr "Seleziona dati in base al tipo:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Seleziona tutti gli oggetti colorati visibili." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." @@ -8877,9 +8983,8 @@ msgid "Deselect all visible color items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Seleziona tutti gli oggetti visibili." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." @@ -8890,9 +8995,8 @@ msgid "Deselect all visible constant items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Seleziona tutti i font visibili." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." @@ -8903,19 +9007,16 @@ msgid "Deselect all visible font items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Seleziona tutte le icone visibili." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Seleziona tutte le icone visibili ed i loro dati." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "Prima seleziona un oggetto di impostazione!" +msgstr "Deseleziona tutte le icone visibili." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." @@ -8938,19 +9039,16 @@ msgstr "" "peso della tua risorsa Tema." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Comprimi Tutto" +msgstr "Comprimi tipologie." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Espandi Tutto" +msgstr "Espandi tipologie." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Seleziona file template" +msgstr "Seleziona tutti gli oggetti del tema." #: editor/plugins/theme_editor_plugin.cpp msgid "Select With Data" @@ -9146,9 +9244,8 @@ msgid "Editor Theme" msgstr "Modifica Tema" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Elimina risorsa" +msgstr "Seleziona un'altra risorsa del tema:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9157,6 +9254,30 @@ msgstr "Importa tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profili disponibili:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Il nome del file è vuoto." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Sei sicuro di voler aprire più di un progetto?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Traccia Anim Rinomina" @@ -9181,21 +9302,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Aggiungi Elemento" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Tipo di nodo" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Carica i predefiniti" @@ -9213,6 +9319,11 @@ msgid "Override all default type items." msgstr "Sovrascrivi tutti gli elementi predefiniti." #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Add Item Type" +msgstr "Aggiungi Elemento" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -9280,9 +9391,8 @@ msgid "Checked Radio Item" msgstr "Elemento Radio Controllato" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Chiamato Sep." +msgstr "Chiamato Separatore" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -11583,7 +11693,7 @@ msgstr "Impostazioni Progetto (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "Informazioni Generali" +msgstr "Generale" #: editor/project_settings_editor.cpp msgid "Override For..." @@ -11738,10 +11848,6 @@ msgid "Batch Rename" msgstr "Rinomina in blocco" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Sostituisci:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefisso:" @@ -12037,6 +12143,20 @@ msgstr "" "Ereditata... ." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Salva Nuova Scena Come..." @@ -13004,63 +13124,70 @@ msgstr "Crea Soluzione" msgid "End of inner exception stack trace" msgstr "Fine dell'analisi dell’eccezione interna dello stack" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"È necessario creare o impostare una risorsa NavigationMesh affinché questo " +"nodo funzioni." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Prepara NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Cancella mesh di navigazione." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Impostando la Configurazione..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calcolando dimensioni griglia..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Creazione heightfield..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Segnando triangoli percorribili..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Costruendo heightfield compatto..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erodendo area percorribile..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partizionando..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Creazione contorni..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Creando polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Convertendo a Mesh di Navigazione nativa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Impostazioni Generatore Mesh di Navigazione:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Elaborazione Geometria..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Fatto!" @@ -14119,6 +14246,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "Il poligono per questo occluder è vuoto. Si prega di disegnare un poligono." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14382,13 +14519,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "Un SpotLight con un angolo più ampio di 90 gradi non può proiettare ombre." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"È necessario creare o impostare una risorsa NavigationMesh affinché questo " -"nodo funzioni." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14396,6 +14531,12 @@ msgstr "" "NavigationMeshInstance deve essere un figlio o nipote di un nodo Navigation. " "Fornisce solamente dati per la navigazione." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Nessuna forma è impostata." @@ -14886,12 +15027,6 @@ msgstr "" "riassegnate in \"vertex\" o \"light\"." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"Non è stato possibile accedere a variabile in fase di Fragment nella " -"funzione personalizzata!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Assegnazione alla funzione." diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 3002f2c2f4..5ed1e5c5fe 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -1,6 +1,6 @@ # Japanese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # akirakido <achts.y@gmail.com>, 2016-2017, 2018, 2019. # D_first <dntk.daisei@gmail.com>, 2017, 2018. @@ -351,6 +351,11 @@ msgid "Duplicate Key(s)" msgstr "キーを複製" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "%dフレームを追加" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "キーを削除" @@ -519,6 +524,11 @@ msgid "" msgstr "このオプションは単一トラックでのベジェ編集では機能しません。" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "アニメーションキーの拡縮" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1500,6 +1510,10 @@ msgid "Invalid name." msgstr "無効な名前です。" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "有効な文字:" @@ -1604,7 +1618,9 @@ msgstr "シーンを更新..." msgid "[empty]" msgstr "[空]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[未保存]" @@ -1625,6 +1641,7 @@ msgstr "フォルダーを作成" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "名前:" @@ -2124,7 +2141,8 @@ msgid "Properties" msgstr "プロパティ" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "上書き:" #: editor/editor_help.cpp @@ -2264,6 +2282,20 @@ msgstr "テーマプロパティ" msgid "Property:" msgstr "プロパティ:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(値)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2273,6 +2305,29 @@ msgstr "%s を設定" msgid "Set Multiple:" msgstr "複数設定:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "プロパティをコピー" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "プロパティを貼り付け" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "スクリプトのパスをコピー" + #: editor/editor_log.cpp msgid "Output:" msgstr "出力:" @@ -3085,6 +3140,20 @@ msgstr "" "実行中にも表示されるようになります。" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "シーンの変更を同期" @@ -4205,6 +4274,10 @@ msgstr "複数ファイル内を検索" msgid "Find:" msgstr "検索:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "置換:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "フォルダー:" @@ -4229,6 +4302,11 @@ msgstr "検索..." msgid "Replace..." msgstr "置換..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "すべて置換" + #: editor/find_in_files.cpp msgid "Find: " msgstr "検索: " @@ -4238,8 +4316,9 @@ msgid "Replace: " msgstr "置換: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "すべて置換 (元に戻せません)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "すべて置換" #: editor/find_in_files.cpp msgid "Searching..." @@ -4459,6 +4538,12 @@ msgstr "" "警告:このリソースを使用するアセットが存在するため、正しくロードされない可能性" "があります。" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "リソースの読み込みに失敗しました。" @@ -5916,6 +6001,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+ドラッグ: 選択したノードを移動。" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+ドラッグ: 選択したノードを移動。" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: 選択したノードのピボットの位置を設定する。" @@ -5946,6 +6036,10 @@ msgid "Scale Mode" msgstr "スケールモード" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6042,20 +6136,44 @@ msgstr "選択したオブジェクトの位置をロック (移動不可能に #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "選択対象をロック" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "選択したオブジェクトをロック解除 (移動可能にする)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "選択対象をロック解除" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "オブジェクトの子を選択不可にする。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "選択対象をグループ化" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "オブジェクトの子を選択可能に戻す。" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "選択対象をグループ解除" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "スケルトンのオプション" @@ -7698,6 +7816,11 @@ msgid "Find in Files..." msgstr "複数ファイル内を検索..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "置換..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "コンテキスト ヘルプ" @@ -8221,6 +8344,19 @@ msgid "Toggle Freelook" msgstr "フリールックのオン / オフ" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "デフォルトに戻す" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "トランスフォーム" @@ -8942,6 +9078,29 @@ msgid "Another Theme" msgstr "他のテーマ" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "タイプを追加" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "利用可能なプロファイル:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "ファイル名が空です。" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "複数のプロジェクトを開いてもよろしいですか?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "アイテム名変更の確認" @@ -8966,18 +9125,6 @@ msgstr "" "てのこのタイプのStyleBoxで同じプロパティが更新されます。" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "タイプを追加" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "アイテムのタイプを追加" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "ノードのタイプ:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "デフォルトの表示" @@ -8995,6 +9142,10 @@ msgid "Override all default type items." msgstr "すべてのデフォルトタイプのアイテムをオーバーライドする。" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "アイテムのタイプを追加" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "テーマ:" @@ -11488,10 +11639,6 @@ msgid "Batch Rename" msgstr "名前の一括変更" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "置換:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "接頭辞:" @@ -11783,6 +11930,20 @@ msgstr "" "をベースに シーン > 新しい継承シーン... から継承シーンを作成してください。" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "新規シーンに名前を付けて保存..." @@ -12745,63 +12906,70 @@ msgstr "ソリューションをビルド" msgid "End of inner exception stack trace" msgstr "内部例外スタックトレースの終了" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"このノードを動かすために NavigationMesh リソースを設定または作成する必要があ" +"ります。" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "NavMeshを焼き込む" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "ナビゲーションメッシュの消去。" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "設定中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "グリッドサイズ計算中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "ハイトフィールド生成中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "移動可能なポリゴンを記録中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "ハイトフィールド圧縮中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "移動可能な領域を作成中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "分割中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "輪郭を作成しています..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "ポリメッシュを作成しています..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "ネイティブナビゲーションメッシュに変換しています..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "ナビゲーションメッシュ生成設定:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "ジオメトリを解析しています..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "完了!" @@ -13828,6 +13996,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "この遮蔽用のオクルーダーポリゴンは空です。ポリゴンを描いてください。" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14089,13 +14267,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "90度を超える角度のスポットライトは、シャドウを投影できません。" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"このノードを動かすために NavigationMesh リソースを設定または作成する必要があ" -"ります。" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14103,6 +14279,12 @@ msgstr "" "NavigationMeshInstance は、ナビゲーションノードの子や孫である必要があります。" "これはナビゲーションデータのみ提供します。" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "シェイプが設定されていません。" @@ -14579,10 +14761,6 @@ msgstr "" "とはできません。" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "カスタム関数内でFragment-stageのVaryingにアクセスできませんでした!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "関数への割り当て。" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index ae9919323a..09eea3dce4 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -1,6 +1,6 @@ # Georgian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Giorgi Beriashvili <giorgi.beriashvili@outlook.com>, 2018. # George Dzavashvili <dzavashviligeorge@gmail.com>, 2018. @@ -344,6 +344,10 @@ msgid "Duplicate Key(s)" msgstr "ანიმაციის გასაღებების ასლის შექმნა" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "ანიმაციის გასაღებების წაშლა" @@ -524,6 +528,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "ანიმ გასაღებების ზომის შეცვლა" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1530,6 +1539,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1634,7 +1647,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1655,6 +1670,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2142,7 +2158,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2287,6 +2303,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2296,6 +2325,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "ანიმაციის . პარამეტრები." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "ანიმაციის . პარამეტრები." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "ანიმაციის . პარამეტრები." + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -3044,6 +3096,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4128,6 +4194,11 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "ჩანაცვლება" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4151,6 +4222,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "ყველას ჩანაცვლება" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4162,7 +4238,7 @@ msgstr "ჩანაცვლება" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "ყველას ჩანაცვლება" #: editor/find_in_files.cpp @@ -4386,6 +4462,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5862,6 +5944,11 @@ msgstr "წავშალოთ მონიშნული ფაილებ #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "წავშალოთ მონიშნული ფაილები?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "მონიშნული თრექის წაშლა." @@ -5891,6 +5978,10 @@ msgid "Scale Mode" msgstr "მასშტაბის თანაფარდობა:" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5986,20 +6077,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "წაშლა" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "მონიშნული გასაღებ(ებ)ის ასლის შექმნა" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "მონიშვნის მოშორება" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "მონიშვნის მოშორება" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "მონიშნული მხოლოდ" @@ -7651,6 +7766,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "ყველას ჩანაცვლება" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8175,6 +8295,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8924,6 +9056,29 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "ანიმაციის თრექის დამატება" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "ანიმაციის . პარამეტრები." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "ბუფერი ცარიელია" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "ანიმაციის თრექის გადარქმევა" @@ -8947,19 +9102,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "ანიმაციის თრექის დამატება" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "" @@ -8976,6 +9118,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "გახსნილი" @@ -11401,11 +11547,6 @@ msgid "Batch Rename" msgstr "საქმის დამთხვევა" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "ჩანაცვლება" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11685,6 +11826,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12642,63 +12797,68 @@ msgstr "ყველა მონიშნვა" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13664,6 +13824,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13870,16 +14040,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14281,10 +14457,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/km.po b/editor/translations/km.po index cd632079d6..570aace246 100644 --- a/editor/translations/km.po +++ b/editor/translations/km.po @@ -1,6 +1,6 @@ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Withuse <withuse@gmail.com>, 2021. @@ -319,6 +319,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -481,6 +485,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1433,6 +1441,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1537,7 +1549,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1558,6 +1572,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2029,7 +2044,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2165,6 +2180,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2174,6 +2202,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2912,6 +2960,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3970,6 +4032,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3993,6 +4059,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4002,7 +4072,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4216,6 +4286,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5637,6 +5713,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5665,6 +5745,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5759,20 +5843,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Key(s) ដែលបានជ្រើសស្ទួន" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Key(s) ដែលបានជ្រើសស្ទួន" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Key(s) ដែលបានជ្រើសស្ទួន" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Key(s) ដែលបានជ្រើសស្ទួន" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7375,6 +7483,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7887,6 +7999,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8598,37 +8722,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8648,6 +8780,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10988,10 +11124,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11264,6 +11396,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12193,63 +12339,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13183,6 +13334,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13389,16 +13550,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13793,10 +13960,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 2c7629a09a..674d0ab18c 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -1,6 +1,6 @@ # Korean translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ch <ccwpc@hanmail.net>, 2017. # paijai 송 (fivejobi) <xotjq237@gmail.com>, 2018. @@ -346,6 +346,11 @@ msgid "Duplicate Key(s)" msgstr "키 복제" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "프레임 %d개 추가" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "키 삭제" @@ -515,6 +520,11 @@ msgstr "" "이 설정은 단일 트랙에만 적용 가능하므로 베지어 편집에 사용할 수 없습니다." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "애니메이션 키 스케일" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1492,6 +1502,10 @@ msgid "Invalid name." msgstr "올바르지 않은 이름입니다." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "올바른 문자:" @@ -1596,7 +1610,9 @@ msgstr "씬 업데이트 중..." msgid "[empty]" msgstr "[비었음]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[저장되지 않음]" @@ -1617,6 +1633,7 @@ msgstr "폴더 만들기" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "이름:" @@ -2110,7 +2127,8 @@ msgid "Properties" msgstr "속성" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "오버라이드:" #: editor/editor_help.cpp @@ -2251,6 +2269,20 @@ msgstr "테마 속성" msgid "Property:" msgstr "속성:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(값)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2260,6 +2292,29 @@ msgstr "Set %s" msgid "Set Multiple:" msgstr "다수 설정:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "속성 복사" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "속성 붙여넣기" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "스크립트 경로 복사" + #: editor/editor_log.cpp msgid "Output:" msgstr "출력:" @@ -3067,6 +3122,20 @@ msgstr "" "이게 됩니다." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "씬 변경사항 동기화" @@ -4176,6 +4245,10 @@ msgstr "파일에서 찾기" msgid "Find:" msgstr "찾기:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "바꾸기:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "폴더:" @@ -4201,6 +4274,11 @@ msgstr "찾기..." msgid "Replace..." msgstr "바꾸기..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "모두 바꾸기" + #: editor/find_in_files.cpp msgid "Find: " msgstr "찾기: " @@ -4210,8 +4288,9 @@ msgid "Replace: " msgstr "바꾸기: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "모두 바꾸기 (되돌릴 수 없습니다)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "모두 바꾸기" #: editor/find_in_files.cpp msgid "Searching..." @@ -4430,6 +4509,12 @@ msgstr "" "경고: 이 리소스를 사용하는 애셋이 있습니다. 정상적으로 불러오지 못할 수도 있" "습니다." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "리소스 불러오기에 실패했습니다." @@ -5880,6 +5965,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+드래그: 선택된 노드를 이동합니다." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+드래그: 선택된 노드를 이동합니다." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: 선택된 노드의 피벗 위치를 설정합니다." @@ -5909,6 +5999,10 @@ msgid "Scale Mode" msgstr "스케일 모드" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6005,20 +6099,44 @@ msgstr "선택된 오브젝트를 그 자리에 잠급니다 (움직일 수 없 #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "선택 항목 잠그기" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "선택된 오브젝트를 잠금에서 풉니다 (움직일 수 있습니다)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "선택 항목 잠금 풀기" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "오브젝트의 자식을 선택하지 않도록 합니다." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "선택 항목 묶기" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "오브젝트의 자식을 선택할 수 있도록 복원합니다." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "선택 항목 묶음 풀기" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "스켈레톤 설정" @@ -7656,6 +7774,11 @@ msgid "Find in Files..." msgstr "파일에서 찾기..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "바꾸기..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "상황에 맞는 도움말" @@ -8177,6 +8300,19 @@ msgid "Toggle Freelook" msgstr "자유 시점 토글" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "디폴트로 재설정" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "변형" @@ -8896,6 +9032,29 @@ msgid "Another Theme" msgstr "다른 테마" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "타입 추가" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "사용 가능한 프로필:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "파일 이름이 비었습니다." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "두 개 이상의 프로젝트를 여시겠습니까?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "항목 이름 바꾸기 확인" @@ -8920,18 +9079,6 @@ msgstr "" "일박스에서 같은 속성이 업데이트됩니다." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "타입 추가" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "항목 타입 추가" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "노드 타입:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "디폴트 보이기" @@ -8948,6 +9095,10 @@ msgid "Override all default type items." msgstr "모든 디폴트 타입 항목을 오버라이드합니다." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "항목 타입 추가" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "테마:" @@ -11417,10 +11568,6 @@ msgid "Batch Rename" msgstr "일괄 이름 바꾸기" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "바꾸기:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "접두사:" @@ -11708,6 +11855,20 @@ msgstr "" "씬...을 대신 사용하여 만들 수 있습니다." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "새 씬을 다른 이름으로 저장..." @@ -12663,63 +12824,69 @@ msgstr "솔루션 빌드" msgid "End of inner exception stack trace" msgstr "내부 예외 스택 추적의 끝" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"이 노드가 작동하려면 NavigationMesh 리소스를 설정하거나 만들어야 합니다." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "NavMesh 굽기" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "내비게이션 메시를 지웁니다." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "구성 설정 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "그리드 크기 계산 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Heightfield 만드는 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "걷기 가능한 삼각형 표시 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "압축된 Heightfield를 구성 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "걷기 가능한 영역 계산 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "파티션 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "윤곽선 만드는 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Polymesh 만드는 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "네이티브 내비게이션 메시로 변환 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "내비게이션 메시 생성기 설정:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "지오메트리 분석 중..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "완료!" @@ -13722,6 +13889,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Occluder 폴리곤이 비어있습니다. 폴리곤을 그려주세요." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13973,12 +14150,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight의 각도를 90도 이상으로 잡으면 그림자를 투영할 수 없습니다." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"이 노드가 작동하려면 NavigationMesh 리소스를 설정하거나 만들어야 합니다." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -13986,6 +14162,12 @@ msgstr "" "NavigationMeshInstance는 Navigation 노드의 자식이나 손주에 있어야 합니다. 이" "것은 내비게이션 데이터만 제공합니다." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "설정할 모양이 없습니다." @@ -14453,10 +14635,6 @@ msgstr "" "을 수 있습니다." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "커스텀 함수에서 Fragment-stage varying에 접근할 수 없습니다!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "함수에 대입." diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 832b47a62a..c9ef760bbf 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -1,6 +1,6 @@ # Lithuanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ignas Kiela <ignaskiela@super.lt>, 2017. # Kornelijus <kornelijus.github@gmail.com>, 2017, 2018. @@ -332,6 +332,10 @@ msgid "Duplicate Key(s)" msgstr "Kopijuoti raktažodį (-ius)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Ištrinti raktažodį (-ius)" @@ -500,6 +504,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1481,6 +1489,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1585,7 +1597,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1606,6 +1620,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Vardas:" @@ -2100,7 +2115,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2242,6 +2257,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Naujas pavadinimas:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2251,6 +2280,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Animacija" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Animacija" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Animacija" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -3002,6 +3054,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4105,6 +4171,10 @@ msgstr "Filtrai..." msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4129,6 +4199,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Pakeisti Visus" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4138,8 +4213,9 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Pakeisti Visus" #: editor/find_in_files.cpp msgid "Searching..." @@ -4359,6 +4435,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5840,6 +5922,11 @@ msgstr "Panaikinti pasirinkimą" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Panaikinti pasirinkimą" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Panaikinti pasirinkimą" @@ -5869,6 +5956,10 @@ msgid "Scale Mode" msgstr "TimeScale Nodas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5964,20 +6055,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Ištrinti Efektą" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Kopijuoti pasirinktą (-us) raktažodį (-žius)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Panaikinti pasirinkimą" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Panaikinti pasirinkimą" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7633,6 +7748,11 @@ msgid "Find in Files..." msgstr "Filtrai..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Filtrai..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8150,6 +8270,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8904,41 +9036,49 @@ msgid "Another Theme" msgstr "Redaguoti Filtrus" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "Animacija: Pridėti Takelį" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Cancel Item Rename" -msgstr "Animacija: Pervadinti Takelį" +msgid "Available Node-based types:" +msgstr "Animacija" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Animacija: Pridėti Takelį" +msgid "Cancel Item Rename" +msgstr "Animacija: Pervadinti Takelį" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Naujas pavadinimas:" +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" @@ -8957,6 +9097,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Redaguoti Filtrus" @@ -11384,10 +11528,6 @@ msgid "Batch Rename" msgstr "Animacija: Pervadinti Takelį" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11666,6 +11806,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12625,63 +12779,70 @@ msgstr "Visas Pasirinkimas" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"NavigationMesh resursas turi būti nustatytas ar sukurtas, kad šis Nodas " +"veiktų." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13648,6 +13809,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13854,18 +14025,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"NavigationMesh resursas turi būti nustatytas ar sukurtas, kad šis Nodas " -"veiktų." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14268,10 +14443,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index d3e6b22e5b..4bd1bae67d 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -1,6 +1,6 @@ # Latvian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Gustavs Porietis (pg829-) <porietisgustavs@gmail.com>, 2018. # Martch Zagorski <martchzagorski@gmail.com>, 2018, 2020. @@ -327,6 +327,10 @@ msgid "Duplicate Key(s)" msgstr "Dublicēt atslēgvietnes" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Izdzēst atslēgvietnes" @@ -493,6 +497,11 @@ msgid "" msgstr "Šī iespēja nestrādā ar Bazjē rediģēšanu, jo tai ir tikai viens celiņš." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Mainīt Atslēgas Izmēru" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1476,6 +1485,10 @@ msgid "Invalid name." msgstr "Nederīgs nosaukums." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Derīgie simboli:" @@ -1582,7 +1595,9 @@ msgstr "Atjauno ainu...." msgid "[empty]" msgstr "[tukšs]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[nesaglabāts]" @@ -1603,6 +1618,7 @@ msgstr "Izveidot mapi" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nosaukums:" @@ -2098,7 +2114,8 @@ msgid "Properties" msgstr "Iestatījumi" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "pārrakstīšana:" #: editor/editor_help.cpp @@ -2238,6 +2255,20 @@ msgstr "Motīva Mainīgais" msgid "Property:" msgstr "Parametrs:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(vērtība)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2247,6 +2278,29 @@ msgstr "Likt %s" msgid "Set Multiple:" msgstr "Uzlikt vairākus:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Kopēt iestatījumus" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Ielīmēt iestatījumus" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopēt mezgla ceļu" + #: editor/editor_log.cpp msgid "Output:" msgstr "Izeja:" @@ -3020,6 +3074,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sinhronizēt ainas izmaiņas" @@ -4087,6 +4155,10 @@ msgstr "Atrast Failos" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Aizvietot:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4110,6 +4182,11 @@ msgstr "Meklēt..." msgid "Replace..." msgstr "Aizvietot..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Aizvietot visu" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4119,8 +4196,9 @@ msgid "Replace: " msgstr "Aizvietot: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Aizvietot visu" #: editor/find_in_files.cpp msgid "Searching..." @@ -4333,6 +4411,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5754,6 +5838,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Bīdīt: Pārvietot izvēlēto mezglu." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Bīdīt: Pārvietot izvēlēto mezglu." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Uzlikt izvēlētā mezgla centra pozīciju." @@ -5782,6 +5871,10 @@ msgid "Scale Mode" msgstr "Mēroga Režīms" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5876,20 +5969,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Dzēst mezglu(s)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Dzēst mezglu(s)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Grupa Izvēlēta" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Pārtraukt Izvēlētā Grupēšanu" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7490,6 +7607,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Aizvietot..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8002,6 +8124,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Atiestatīt uz noklusējumu" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8713,6 +8848,30 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Pievienot tipu" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Pieejamie Profili:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Faila Nosaukums nav definēts." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "" +"Vai esat drošs(ša), ka vēlaties noņemt visus savienojumus no šī signāla?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "" @@ -8735,18 +8894,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Pievienot tipu" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Rādīt noklusējumu" @@ -8763,6 +8910,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Motīvs:" @@ -11106,10 +11257,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Aizvietot:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11382,6 +11529,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Saglabāt jaunu ainu kā..." @@ -12313,63 +12474,68 @@ msgstr "Būvēt risinājumu" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Darīts!" @@ -13303,6 +13469,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13509,16 +13685,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13918,10 +14100,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index 832af7ceb1..535251ede2 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -1,6 +1,6 @@ # Māori translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # follower <follower@rancidbacon.com>, 2019. msgid "" @@ -311,6 +311,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -473,6 +477,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1425,6 +1433,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1529,7 +1541,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1550,6 +1564,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2021,7 +2036,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2157,6 +2172,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2166,6 +2194,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2904,6 +2952,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3961,6 +4023,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3984,6 +4050,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -3993,7 +4063,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4207,6 +4277,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5628,6 +5704,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5656,6 +5736,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5750,20 +5834,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7363,6 +7467,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7875,6 +7983,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8586,37 +8706,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8636,6 +8764,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10976,10 +11108,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11252,6 +11380,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12181,63 +12323,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13171,6 +13318,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13377,16 +13534,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13781,10 +13944,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/mk.po b/editor/translations/mk.po index 4d3f8021a7..e1a6d054c8 100644 --- a/editor/translations/mk.po +++ b/editor/translations/mk.po @@ -1,6 +1,6 @@ # Macedonian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Kristijan Fremen Velkovski <me@krisfremen.com>, 2021. @@ -319,6 +319,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -481,6 +485,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1433,6 +1441,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1537,7 +1549,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1558,6 +1572,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2030,7 +2045,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2166,6 +2181,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2175,6 +2203,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Својства на анимацијата." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Својства на анимацијата." + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Својства на анимацијата." + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2913,6 +2964,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3971,6 +4036,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3994,6 +4063,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4003,7 +4076,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4217,6 +4290,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5641,6 +5720,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5669,6 +5752,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5763,20 +5850,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Дуплирај избран(и) клуч(еви)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Дуплирај избран(и) клуч(еви)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Дуплирај избран(и) клуч(еви)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Дуплирај избран(и) клуч(еви)" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7379,6 +7490,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7891,6 +8006,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8602,37 +8729,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8652,6 +8787,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10992,10 +11131,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11268,6 +11403,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12197,63 +12346,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13187,6 +13341,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13393,16 +13557,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13797,10 +13967,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index e6c50a3d78..50770a8962 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -1,6 +1,6 @@ # Malayalam translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # christy james <jkuttu@gmail.com>, 2018. # Lakshmi-Jayakumar <lakshmi.jayakumar.tkm@gmail.com>, 2019. @@ -321,6 +321,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -485,6 +489,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1438,6 +1446,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1542,7 +1554,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1563,6 +1577,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2034,7 +2049,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2172,6 +2187,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "വില:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2181,6 +2210,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "ഗുണം നോക്കുക" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "ഗുണം നോക്കുക" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "ഗുണം നോക്കുക" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2919,6 +2971,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3977,6 +4043,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4000,6 +4070,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4009,7 +4083,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4223,6 +4297,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5648,6 +5728,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5676,6 +5760,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5770,20 +5858,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "സൂചികകളുടെ പകർപ്പെടുക്കുക" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "സൂചികകളുടെ പകർപ്പെടുക്കുക" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "സൂചികകളുടെ പകർപ്പെടുക്കുക" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "സൂചികകളുടെ പകർപ്പെടുക്കുക" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7387,6 +7499,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7899,6 +8015,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8610,37 +8738,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8660,6 +8796,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11001,10 +11141,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11277,6 +11413,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12206,63 +12356,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13198,6 +13353,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13404,16 +13569,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13808,10 +13979,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index 99f6fdcf33..6a5005167a 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -1,6 +1,6 @@ # Marathi translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Prachi Joshi <josprachi@yahoo.com>, 2019, 2020. # Shirious <sad3119823@gmail.com>, 2020. @@ -318,6 +318,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -481,6 +485,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1433,6 +1441,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1537,7 +1549,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1558,6 +1572,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2029,7 +2044,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2165,6 +2180,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(किंमत)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2174,6 +2203,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2912,6 +2961,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3970,6 +4033,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3993,6 +4060,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4002,7 +4073,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4216,6 +4287,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5639,6 +5716,11 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "निवडलेले नोड किंवा संक्रमण काढा." + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "निवडलेले नोड किंवा संक्रमण काढा." @@ -5667,6 +5749,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5761,20 +5847,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7376,6 +7482,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7889,6 +7999,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8601,38 +8723,46 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "नोड जोडा" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "नोड जोडा" +msgid "Cancel Item Rename" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8652,6 +8782,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10994,10 +11128,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11270,6 +11400,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12199,63 +12343,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13190,6 +13339,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13396,16 +13555,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13800,10 +13965,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index c44ed5566a..4909f7f9b1 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -1,6 +1,6 @@ # Malay translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Sam Vanguard <syafz119@gmail.com>, 2018. # Shaqir Rafiq <moshamoradev@gmail.com>, 2018. @@ -327,6 +327,10 @@ msgid "Duplicate Key(s)" msgstr "Menduakan Kunci" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Padam Kunci" @@ -495,6 +499,11 @@ msgstr "" "trek." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Kunci Skala Anim" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1479,6 +1488,10 @@ msgid "Invalid name." msgstr "Nama tidak sah." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Watak yang sah:" @@ -1584,7 +1597,9 @@ msgstr "Mengemaskini adegan..." msgid "[empty]" msgstr "[kosong]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[tidak disimpan]" @@ -1605,6 +1620,7 @@ msgstr "Cipta Folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nama:" @@ -2105,7 +2121,8 @@ msgid "Properties" msgstr "Sifat-sifat" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "ganti:" #: editor/editor_help.cpp @@ -2245,6 +2262,20 @@ msgstr "Sifat Tema" msgid "Property:" msgstr "Sifat:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(nilai)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2254,6 +2285,29 @@ msgstr "Tetapkan %s" msgid "Set Multiple:" msgstr "Tetapkan Pelbagai:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Sifat-sifat" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Sifat-sifat" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Sifat-sifat" + #: editor/editor_log.cpp msgid "Output:" msgstr "Keluaran:" @@ -3071,6 +3125,20 @@ msgstr "" "dapat dilihat dalam projek yang sedang berjalan." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Segerakkan Perubahan Adegan" @@ -4211,6 +4279,10 @@ msgstr "Cari dalam Fail-fail" msgid "Find:" msgstr "Cari:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Ganti:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Folder:" @@ -4236,6 +4308,11 @@ msgstr "Cari..." msgid "Replace..." msgstr "Ganti..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Ganti Semua" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Cari: " @@ -4245,8 +4322,9 @@ msgid "Replace: " msgstr "Ganti: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Ganti semua (tiada buat asal)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Ganti Semua" #: editor/find_in_files.cpp msgid "Searching..." @@ -4463,6 +4541,12 @@ msgstr "" "AMARAN: Terdapat aset-aset yang menggunakan sumber ini, mereka mungkin " "berhenti memuat dengan betul." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Gagal untuk memuatkan sumber." @@ -5910,6 +5994,11 @@ msgstr "Padam Rect yang dipilih." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Padam Rect yang dipilih." + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Node yang dipilih bukan Viewport!" @@ -5938,6 +6027,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6032,20 +6125,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Semua Pilihan" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Gandakan Kunci Terpilih" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Semua Pilihan" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Semua Pilihan" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7661,6 +7778,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Ganti..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8184,6 +8306,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Set Semula ke Lalai" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8937,6 +9072,31 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Add Type" +msgstr "Tambah Segi Tiga" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profil yang ada:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Papan klip kosong!" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "" +"Adakah anda pasti anda mahu mengeluarkan semua sambungan dari isyarat ini?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "" @@ -8962,20 +9122,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Tambah Segi Tiga" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Nama Nod:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Muatkan Lalai" @@ -8993,6 +9139,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11363,10 +11513,6 @@ msgid "Batch Rename" msgstr "Namakan Semula Kumpulan" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Ganti:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11640,6 +11786,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12579,63 +12739,68 @@ msgstr "Semua Pilihan" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13593,6 +13758,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13799,16 +13974,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14203,10 +14384,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 498aa106eb..2aab12820b 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -1,6 +1,6 @@ # Norwegian Bokmål translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 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, 2019, 2020, 2021. # Anonymous <GentleSaucepan@protonmail.com>, 2017, 2021. @@ -25,8 +25,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-03 13:15+0000\n" -"Last-Translator: Daniel Skogly <daniel@klungo.no>\n" +"PO-Revision-Date: 2021-12-26 17:18+0000\n" +"Last-Translator: Petter Reinholdtsen <pere-weblate@hungry.com>\n" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" "Language: nb\n" @@ -34,7 +34,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -337,6 +337,10 @@ msgid "Duplicate Key(s)" msgstr "Dupliser Nøkler" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Fjern Nøkler" @@ -507,6 +511,11 @@ msgstr "" "Dette valget virker ikke på Bézier-redigering, da det kun er ett enkelt spor." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Skalér Nøkler" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -882,7 +891,7 @@ msgstr "Engangs" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "" +msgstr "Kobler fra signalet etter dets første utsending." #: editor/connections_dialog.cpp #, fuzzy @@ -1524,6 +1533,10 @@ msgid "Invalid name." msgstr "Ugyldig navn." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Gyldige karakterer:" @@ -1636,7 +1649,9 @@ msgstr "Oppdaterer scene..." msgid "[empty]" msgstr "[blank]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ulagret]" @@ -1658,6 +1673,7 @@ msgstr "Lag Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Navn:" @@ -2184,7 +2200,7 @@ msgstr "Egenskaper" #: editor/editor_help.cpp #, fuzzy -msgid "override:" +msgid "overrides %s:" msgstr "Overskriv" #: editor/editor_help.cpp @@ -2345,6 +2361,20 @@ msgstr "Egenskaper" msgid "Property:" msgstr "Egenskap:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Verdi:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2354,6 +2384,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Sett mange:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Egenskaper" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Egenskaper" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopier Skript-Sti" + #: editor/editor_log.cpp msgid "Output:" msgstr "Output:" @@ -3075,7 +3128,7 @@ msgstr "Sett opp versjonskontroll" #: editor/editor_node.cpp msgid "Shut Down Version Control" -msgstr "" +msgstr "Steng ned versjonskontroll" #: editor/editor_node.cpp #, fuzzy @@ -3175,6 +3228,20 @@ msgstr "" "denne innstillingen er aktivert." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Synkroniser Sceneendringer" @@ -3663,7 +3730,7 @@ msgstr "" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "Velg visningsvindu" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" @@ -4155,6 +4222,11 @@ msgid "" "\n" "Do you wish to overwrite them?" msgstr "" +"Disse filene eller mappene er i konflikt med oppføringene i målstedet «%s»:\n" +"\n" +"%s\n" +"\n" +"Ønsker du å overskrive dem?" #: editor/filesystem_dock.cpp msgid "Renaming file:" @@ -4351,6 +4423,10 @@ msgstr "Finn i Filer" msgid "Find:" msgstr "Finn" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Erstatt:" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4376,6 +4452,11 @@ msgstr "Finn..." msgid "Replace..." msgstr "Erstatt..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Erstatt Alle" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Finn: " @@ -4386,7 +4467,7 @@ msgstr "Erstatt: " #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Erstatt Alle" #: editor/find_in_files.cpp @@ -4620,6 +4701,12 @@ msgstr "" "ADVARSEL: ___ eksister som bruker denne ressursen, det kan hende de ikke " "laster inn riktig." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Kunne ikke laste ressurs." @@ -6182,6 +6269,11 @@ msgstr "Alt+Dra: Flytt" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Dra: Flytt" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Fjern valgt spor." @@ -6213,6 +6305,10 @@ msgid "Scale Mode" msgstr "Skaler Modus" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "" @@ -6321,20 +6417,44 @@ msgstr "Lås fast det valgte objektet (kan ikke flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Slett Valgte" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Lås opp det valgte objektet (kan flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Slett Valgte" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Vær sikker at objektets barn ikke er valgbar." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Fjern Utvalg" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Gjenopprett objektets barn sin mulighet for å bli valgt." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Fjern Utvalg" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Singleton" @@ -8038,6 +8158,11 @@ msgid "Find in Files..." msgstr "Filtrer Filer..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Erstatt..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8288,9 +8413,8 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Størrelse: " +msgstr "Størrelse:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" @@ -8588,6 +8712,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Last Standard" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9054,9 +9191,8 @@ msgid "Importing items {n}/{n}" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Avslutt redigeringsverktøyet?" +msgstr "Oppdaterer redigeringsverktøyet" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9373,6 +9509,30 @@ msgstr "Importer Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Finn Node Type" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Tilgjengelige Noder:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Filnavnet er tomt." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Er du sikker på at du vil åpne mer enn ett prosjekt?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim-Spor Endre Navn" @@ -9398,21 +9558,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Finn Node Type" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Legg til Element" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Finn Node Type" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Last Standard" @@ -9431,6 +9576,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Legg til Element" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Tema" @@ -11400,14 +11550,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "Er du sikker på at du vil kjøre mer enn ett prosjekt?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Velg enhet fra listen" +msgstr "Fjern %d prosjekter fra listen?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Velg enhet fra listen" +msgstr "Fjern dette prosjektet fra listen?" #: editor/project_manager.cpp msgid "" @@ -11938,10 +12086,6 @@ msgid "Batch Rename" msgstr "Endre Navn på Parti" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Erstatt:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -12228,6 +12372,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -13229,63 +13387,68 @@ msgstr "Alle valg" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Regner ut rutenettstørrelse…" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partisjonerer..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Lager konturer..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Ferdig!" @@ -13977,9 +14140,8 @@ msgid "" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "Kunne ikke endre project.godot i projsektstien." +msgstr "Klarte ikke eksportere prosjektfiler til gradle-prosjekt\n" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -14295,6 +14457,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14462,6 +14634,8 @@ msgid "" "Plane shapes don't work well and will be removed in future versions. Please " "don't use them." msgstr "" +"Flate former virker ikke så bra og vil bli fjernet i fremtidige versjoner. " +"Veldig fint om de ikke brukes." #: scene/3d/collision_shape.cpp msgid "" @@ -14503,16 +14677,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14914,10 +15094,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 4dee14141b..9574536fb7 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -1,6 +1,6 @@ # Dutch translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # aelspire <aelspire@gmail.com>, 2017. # Aram Nap <xyphex.aram@gmail.com>, 2017. @@ -52,13 +52,14 @@ # Edgar <Edgar@anotherfoxguy.com>, 2021. # Daan van Luijk <daanvl@outlook.be>, 2021. # Dani Verschoor <daniverschoor@outlook.com>, 2021. +# naan <xlightfox@hotmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-20 22:07+0000\n" -"Last-Translator: Dani Verschoor <daniverschoor@outlook.com>\n" +"PO-Revision-Date: 2021-12-31 08:52+0000\n" +"Last-Translator: naan <xlightfox@hotmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -66,7 +67,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9.1\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -370,6 +371,11 @@ msgid "Duplicate Key(s)" msgstr "Sleutel(s) dupliceren" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Voeg %d Frame(s) toe" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Sleutel(s) verwijderen" @@ -538,6 +544,11 @@ msgstr "" "aanwezig is." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Schaal Keys" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -992,7 +1003,7 @@ msgstr "Bewerken..." #: editor/connections_dialog.cpp msgid "Go to Method" -msgstr "Ga naar methode" +msgstr "Ga naar Methode" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -1526,6 +1537,10 @@ msgid "Invalid name." msgstr "Ongeldige naam." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Geldige karakters:" @@ -1630,7 +1645,9 @@ msgstr "Scène aan het bijwerken..." msgid "[empty]" msgstr "[leeg]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[niet opgeslagen]" @@ -1651,6 +1668,7 @@ msgstr "Map maken" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Naam:" @@ -1710,7 +1728,7 @@ msgid "" "'Import Pvrtc' in Project Settings." msgstr "" "Doelplatform vereist 'PVRTC' textuurcompressie voor GLES2. Schakel 'Import " -"Etc' in bij de Projectinstellingen." +"Pvrtc' in bij de Projectinstellingen." #: editor/editor_export.cpp msgid "" @@ -2147,7 +2165,8 @@ msgid "Properties" msgstr "Eigenschappen" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "overschreven:" #: editor/editor_help.cpp @@ -2291,6 +2310,20 @@ msgstr "Thema-eigenschap" msgid "Property:" msgstr "Eigenschap:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(waarde)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2300,6 +2333,29 @@ msgstr "Zet %s" msgid "Set Multiple:" msgstr "Zet Meerdere:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Eigenschappen" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Eigenschappen" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopieer Script Pad" + #: editor/editor_log.cpp msgid "Output:" msgstr "Uitvoer:" @@ -3117,6 +3173,20 @@ msgstr "" "aanstaat." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Veranderingen in de scène synchroniseren" @@ -4269,6 +4339,10 @@ msgstr "In bestanden zoeken" msgid "Find:" msgstr "Zoeken:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Vervangen:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Map:" @@ -4294,6 +4368,11 @@ msgstr "Vind..." msgid "Replace..." msgstr "Vervang..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Alles vervangen" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Zoeken: " @@ -4303,8 +4382,9 @@ msgid "Replace: " msgstr "Vervangen: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Alles vervangen (onomkeerbaar)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Alles vervangen" #: editor/find_in_files.cpp msgid "Searching..." @@ -4522,6 +4602,12 @@ msgstr "" "WAARSCHUWING: Er bestaan assets die gebruikmaken van deze bron, hierdoor " "kunnen deze mogelijk niet worden geladen." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Bron laden mislukt." @@ -5991,6 +6077,11 @@ msgstr "Alt + Slepen : Verplaatsen" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt + Slepen : Verplaatsen" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "De uitgekozen knoop of overgang verwijderen." @@ -6022,6 +6113,10 @@ msgid "Scale Mode" msgstr "Schaalmodus" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6120,23 +6215,47 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Slot Geselecteerd" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Ontgrendel het geselecteerde object (kan verplaatst worden)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Geselecteerde Verwijderen" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" "Zorgt ervoor dat de kinderen van dit object niet geselecteerd kunnen worden." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Selectie Groeperen" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" "Herstelt de mogelijkheid van selecteerbaarheid bij de kinderen van het " "object." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Selectie Degroeperen" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Skeletinstellingen" @@ -6186,6 +6305,7 @@ msgid "Show Group And Lock Icons" msgstr "Toon Groep en Slot Iconen" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Center Selection" msgstr "Centreer Selectie" @@ -7798,6 +7918,11 @@ msgid "Find in Files..." msgstr "Zoeken in bestanden..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Vervang..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Contextuele Hulp" @@ -8349,6 +8474,19 @@ msgid "Toggle Freelook" msgstr "Toggle Freelook" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Reset naar standaard waarden" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformatie" @@ -9122,6 +9260,30 @@ msgstr "Thema importeren" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Type" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Beschikbare Profielen:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Bestandsnaam is leeg." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Weet je zeker dat je meer dan één project wilt openen?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim Track Hernoemen" @@ -9147,21 +9309,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Type" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Element toevoegen" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Knooptype" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Laad standaard" @@ -9180,6 +9327,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Element toevoegen" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Thema" @@ -11715,10 +11867,6 @@ msgid "Batch Rename" msgstr "Bulk hernoemen" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Vervangen:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Voorvoegsel:" @@ -12001,6 +12149,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Nieuwe scène opslaan als..." @@ -12964,63 +13126,68 @@ msgstr "Vul selectie" msgid "End of inner exception stack trace" msgstr "Einde van innerlijke exception stack trace" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "Een NavigationMesh-bron is nodig om deze knoop te laten werken." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Bak NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Navigatiemesh wissen." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Configuratie aan het instellen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Raster groote uitrekenen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Hoogteveld aan het creëeren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "begaanbaare driehoeken markeren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Bezig met opbouw van compact hoogteveld..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Wandelbaar gebied aan het eroderen..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partitioneren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Contouren aan het creëeren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Polymesh aan het creëeren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Naar navigatie mesh aan het converteren..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Navigatie Mesh Generator Setup:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Geometrie aan het ontleden..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Klaar!" @@ -14064,6 +14231,16 @@ msgstr "" "De occluder-polygoon van deze occluder is leeg. Teken alstublieft een " "polygoon." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14316,11 +14493,11 @@ msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" "Een SpotLight met een hoek breder dan 90 graden kan geen schaduwen werpen." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "Een NavigationMesh-bron is nodig om deze knoop te laten werken." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14328,6 +14505,12 @@ msgstr "" "NavigationMeshInstance moet een (klein)kind zijn van een Navigation-knoop om " "navigatiegevens door te geven." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14775,10 +14958,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Toewijzing aan functie." diff --git a/editor/translations/or.po b/editor/translations/or.po index 15a041d554..59c61de288 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -1,6 +1,6 @@ # Odia translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Pro Neon <proneon267@gmail.com>, 2019. msgid "" @@ -317,6 +317,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -479,6 +483,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1431,6 +1439,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1535,7 +1547,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1556,6 +1570,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2027,7 +2042,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2163,6 +2178,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2172,6 +2200,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2910,6 +2958,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3967,6 +4029,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3990,6 +4056,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -3999,7 +4069,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4213,6 +4283,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5634,6 +5710,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5662,6 +5742,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5756,20 +5840,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7369,6 +7473,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7881,6 +7989,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8592,37 +8712,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8642,6 +8770,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10982,10 +11114,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11258,6 +11386,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12187,63 +12329,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13177,6 +13324,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13383,16 +13540,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13787,10 +13950,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 3d6a9cc22f..fd2468a30e 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -1,6 +1,6 @@ # Polish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 8-bit Pixel <dawdejw@gmail.com>, 2016. # Adam Wolanski <adam.wolanski94@gmail.com>, 2017. @@ -57,7 +57,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-31 22:17+0000\n" +"PO-Revision-Date: 2021-12-23 15:30+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -67,7 +67,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -370,6 +370,11 @@ msgid "Duplicate Key(s)" msgstr "Duplikuj klucz(e)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Dodaj %d klatek" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Usuń klucz(e)" @@ -538,6 +543,11 @@ msgstr "" "Ta opcja nie działa dla edycji Beziera, ponieważ jest to tylko jedna ścieżka." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Przeskaluj klatki kluczowe" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1518,6 +1528,10 @@ msgid "Invalid name." msgstr "Niewłaściwa nazwa." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Dopuszczalne znaki:" @@ -1622,7 +1636,9 @@ msgstr "Aktualizacja sceny ..." msgid "[empty]" msgstr "[pusty]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[niezapisany]" @@ -1643,6 +1659,7 @@ msgstr "Utwórz katalog" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nazwa:" @@ -2135,7 +2152,8 @@ msgid "Properties" msgstr "Właściwości" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "nadpisanie:" #: editor/editor_help.cpp @@ -2167,9 +2185,8 @@ msgid "Icons" msgstr "Ikony" #: editor/editor_help.cpp -#, fuzzy msgid "Styles" -msgstr "Styl" +msgstr "Style" #: editor/editor_help.cpp msgid "Enumerations" @@ -2276,6 +2293,20 @@ msgstr "Właściwość motywu" msgid "Property:" msgstr "Właściwość:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(wartość)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2285,6 +2316,29 @@ msgstr "Ustaw %s" msgid "Set Multiple:" msgstr "Ustaw wiele:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Skopiuj właściwości" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Wklej właściwości" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Skopiuj ścieżkę skryptu" + #: editor/editor_log.cpp msgid "Output:" msgstr "Wyjście:" @@ -3097,6 +3151,20 @@ msgstr "" "w uruchomionym projekcie." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Synchronizuj zmiany na scenie" @@ -4215,6 +4283,10 @@ msgstr "Znajdź w plikach" msgid "Find:" msgstr "Znajdź:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Zastąp:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Folder:" @@ -4240,6 +4312,11 @@ msgstr "Znajdź..." msgid "Replace..." msgstr "Zamień..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Zastąp wszystkie" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Znajdź: " @@ -4249,8 +4326,9 @@ msgid "Replace: " msgstr "Zastąp: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Zastąp wszystkie (nie można cofnąć)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Zastąp wszystkie" #: editor/find_in_files.cpp msgid "Searching..." @@ -4471,6 +4549,12 @@ msgstr "" "OSTRZEŻENIE: Istnieje zawartość używająca tego zasobu, która może przestać " "działać prawidłowo." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Nie udało się wczytać zasobu." @@ -5935,6 +6019,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Przeciągnij: Przesuń zaznaczony węzeł." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Przeciągnij: Przesuń zaznaczony węzeł." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Ustaw pozycję osi obrotu zaznaczonego węzła." @@ -5965,6 +6054,10 @@ msgid "Scale Mode" msgstr "Tryb skalowania" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6061,20 +6154,44 @@ msgstr "Zablokuj wybrany obiekt w miejscu (nie można go przesuwać)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Zablokuj wybrane" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Odblokuj wybrany obiekt (można go przesuwać)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Odblokuj wybrane" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Zablokuj selekcję węzłów podrzędnych." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Grupuj wybrane" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Odblokuj selekcję węzłów podrzędnych." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Rozgrupuj wybrane" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opcje szkieletu" @@ -7716,6 +7833,11 @@ msgid "Find in Files..." msgstr "Znajdź w plikach..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Zamień..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Pomoc kontekstowa" @@ -8240,6 +8362,19 @@ msgid "Toggle Freelook" msgstr "Przełącz swobodny widok" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Resetuj do domyślnych" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Przekształcanie" @@ -8962,6 +9097,29 @@ msgid "Another Theme" msgstr "Inny motyw" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Dodaj typ" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Dostępne profile:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Nazwa pliku jest pusta." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Czy jesteś pewny że chcesz otworzyć więcej niż jeden projekt?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Potwierdź zmianę nazwy elementu" @@ -8986,18 +9144,6 @@ msgstr "" "zaktualizuje te same właściwości we wszystkich innych StyleBoxach tego typu." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Dodaj typ" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Dodaj typ elementu" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Typy węzłów:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Pokaż domyślne" @@ -9014,6 +9160,10 @@ msgid "Override all default type items." msgstr "Nadpisz wszystkie domyślne elementy typu." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Dodaj typ elementu" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Motyw:" @@ -11518,10 +11668,6 @@ msgid "Batch Rename" msgstr "Grupowa zmiana nazwy" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Zastąp:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Przedrostek:" @@ -11811,6 +11957,20 @@ msgstr "" "bazowaną na instancji sceny, używając Scena -> Nowa scena dziedzicząca..." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Zapisz nową scenę jako ..." @@ -12772,63 +12932,70 @@ msgstr "Zbuduj rozwiązanie" msgid "End of inner exception stack trace" msgstr "Koniec śladu stosu wewnętrznego wyjątku" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Zasób typu NavigationMesh musi być ustawiony w odpowiednim polu, aby ten " +"węzeł zadziałał." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Przygotuj NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Wyczyść siatkę nawigacji." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Ustawianie konfiguracji..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Obliczanie wielkości siatki..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Tworzenie pola wysokości..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Zaznaczanie możliwych do przejścia trójkątów ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Konstruowanie zwartego pola wysokości..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erodowanie osiągalnego obszaru..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Rozdzielanie..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Tworzenie konturów..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Tworzenie siatki wielokątnej..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Konwertowanie do natywnej siatki nawigacyjnej..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Ustawienia generatora siatek nawigacyjnych:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Parsowanie Geometrii..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Skończone!" @@ -13395,20 +13562,16 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Use Custom Build\" musi być włączone, by używać wtyczek." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " "or \"OpenXR\"." msgstr "" -"\"Hand Tracking\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile VR" -"\"." +"\"Hand Tracking\" jest poprawne tylko, gdy \"Xr Mode\" jest \"Oculus Mobile " +"VrApi\" lub \"OpenXR\"." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." -msgstr "" -"\"Hand Tracking\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile VR" -"\"." +msgstr "\"Passthrough\" jest poprawne tylko, gdy \"Xr Mode\" jest \"OpenXR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13416,23 +13579,23 @@ msgstr "" "\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." msgstr "" -"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." +"Zmiana \"Min Sdk\" jest poprawna tylko, gdy \"Use Custom Build\" jest " +"włączone." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " "enabled." msgstr "" -"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." +"Zmiana \"Target Sdk\" jest poprawna tylko, gdy \"Use Custom Build\" jest " +"włączone." #: platform/android/export/export_plugin.cpp msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" +msgstr "Wersja \"Target Sdk\" musi być większa lub równa wersji \"Min Sdk\"." #: platform/android/export/export_plugin.cpp msgid "" @@ -13864,6 +14027,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "Wielokąt przesłaniający dla tego przesłaniacza jest pusty. Narysuj wielokąt." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14123,13 +14296,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight z kątem szerszym niż 90 stopni nie może rzucać cieni." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Zasób typu NavigationMesh musi być ustawiony w odpowiednim polu, aby ten " -"węzeł zadziałał." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14137,6 +14308,12 @@ msgstr "" "NavigationMeshInstance musi być dzieckiem lub wnukiem węzła typu Navigation. " "Udostępnia on tylko dane nawigacyjne." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Żaden kształt nie jest ustawiony." @@ -14612,11 +14789,6 @@ msgstr "" "ponownie we \"vertex\" ani \"light\"." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"Varying z etapu fragmentów nie jest dostępny w niestandardowej funkcji!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Przypisanie do funkcji." diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 7b4329c771..799813904a 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -1,6 +1,6 @@ # Pirate translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Calum Knott <calum@calumk.com>, 2017. # Zion Nimchuk <zionnimchuk@gmail.com>, 2016-2017. @@ -341,6 +341,10 @@ msgid "Duplicate Key(s)" msgstr "Rename Variable" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "Yar, Blow th' Selected Down!" @@ -509,6 +513,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1483,6 +1491,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1588,7 +1600,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1609,6 +1623,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2104,7 +2119,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2246,6 +2261,19 @@ msgstr "Paste yer Node" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2255,6 +2283,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Paste yer Node" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Paste yer Node" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Forge yer Node!" + #: editor/editor_log.cpp msgid "Output:" msgstr "Cap'n's Log:" @@ -3005,6 +3056,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4109,6 +4174,10 @@ msgstr "Find ye Node Type" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4133,6 +4202,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Find ye Node Type" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4142,7 +4216,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4363,6 +4437,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5842,6 +5922,11 @@ msgstr "Yar, Blow th' Selected Down!" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Discharge ye' Signal" @@ -5871,6 +5956,10 @@ msgid "Scale Mode" msgstr "Slit th' Node" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5969,20 +6058,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Yar, Blow th' Selected Down!" @@ -7630,6 +7743,11 @@ msgid "Find in Files..." msgstr "Find ye Node Type" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Find ye Node Type" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8159,6 +8277,18 @@ msgid "Toggle Freelook" msgstr "Toggle ye Breakpoint" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8918,40 +9048,48 @@ msgid "Another Theme" msgstr "th' Members:" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "Find ye Node Type" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +#, fuzzy +msgid "Available Node-based types:" +msgstr "yer Nodes doing nothin':" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "Find ye Node Type" +msgid "Override Item" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Find ye Node Type" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" @@ -8970,6 +9108,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "th' Members:" @@ -11404,10 +11546,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11688,6 +11826,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12665,63 +12817,68 @@ msgstr "All yer Booty" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13715,6 +13872,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13921,16 +14088,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14329,10 +14502,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index f6aefb33cb..fcaec3fee6 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -1,6 +1,6 @@ # Portuguese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # António Sarmento <antonio.luis.sarmento@gmail.com>, 2016. # Carlos Vieira <carlos.vieira@gmail.com>, 2017. @@ -24,7 +24,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-07 09:45+0000\n" +"PO-Revision-Date: 2021-12-31 08:52+0000\n" "Last-Translator: João Lopes <linux-man@hotmail.com>\n" "Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/" "godot/pt/>\n" @@ -33,7 +33,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -336,6 +336,11 @@ msgid "Duplicate Key(s)" msgstr "Duplicar Chave(s)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Adicionar %d Frame(s)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Apagar Chave(s)" @@ -505,6 +510,11 @@ msgstr "" "Esta opção não funciona para edição de Bezier, dado que é uma única faixa." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Escalar Chaves" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1489,6 +1499,10 @@ msgid "Invalid name." msgstr "Nome inválido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caracteres válidos:" @@ -1594,7 +1608,9 @@ msgstr "A atualizar cena..." msgid "[empty]" msgstr "[vazio]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[não guardado]" @@ -1615,6 +1631,7 @@ msgstr "Criar Pasta" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nome:" @@ -2110,7 +2127,8 @@ msgid "Properties" msgstr "Propriedades" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "sobrepor:" #: editor/editor_help.cpp @@ -2142,9 +2160,8 @@ msgid "Icons" msgstr "Ícones" #: editor/editor_help.cpp -#, fuzzy msgid "Styles" -msgstr "Estilo" +msgstr "Estilos" #: editor/editor_help.cpp msgid "Enumerations" @@ -2251,6 +2268,20 @@ msgstr "Propriedade do Tema" msgid "Property:" msgstr "Propriedade:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2260,6 +2291,29 @@ msgstr "Definir %s" msgid "Set Multiple:" msgstr "Definir Múltiplo:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copiar Propriedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Colar Propriedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copiar Caminho do Script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Saída:" @@ -3074,6 +3128,20 @@ msgstr "" "projeto em execução." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizar Alterações da Cena" @@ -3298,8 +3366,8 @@ msgstr "" "Poderá depois aplicar modificações e compilar o seu APK personalizado a " "exportar (com adição de módulos, a alterar AndroidManifest.xml, etc.).\n" "Repare que de forma a criar compilações personalizadas em vez de usar APKs " -"pré-compilados, a opção \"Usar Compilação Personalizada\" deve ser ativada " -"na predefinição da exportação Android." +"pré-compilados, a opção \"Use Custom Build\" deve ser ativada na " +"predefinição da exportação Android." #: editor/editor_node.cpp msgid "" @@ -4200,6 +4268,10 @@ msgstr "Localizar em Ficheiros" msgid "Find:" msgstr "Localizar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Substituir:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Pasta:" @@ -4225,6 +4297,11 @@ msgstr "Localizar..." msgid "Replace..." msgstr "Substituir..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Substituir todos" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Localizar: " @@ -4234,8 +4311,9 @@ msgid "Replace: " msgstr "Substituir: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Substituir tudo (definitivo)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Substituir todos" #: editor/find_in_files.cpp msgid "Searching..." @@ -4454,6 +4532,12 @@ msgstr "" "AVISO: Outros recursos usam este recurso, e podem não ser carregados " "corretamente." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Falha ao carregar recurso." @@ -5913,6 +5997,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Arrastar: Mover nó selecionado." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrastar: Mover nó selecionado." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Define posição do pivô do nó selecionado." @@ -5943,6 +6032,10 @@ msgid "Scale Mode" msgstr "Modo Escalar" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6039,20 +6132,44 @@ msgstr "Bloquear a posição do objeto selecionado (não pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Bloquear Seleção" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Desbloquear o Objeto selecionado (pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Desbloquear Seleção" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Assegura que os Objetos-filho não são selecionáveis." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Seleção" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaura a capacidade de selecionar os Objetos-filho." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Seleção" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opções do Esqueleto" @@ -7689,6 +7806,11 @@ msgid "Find in Files..." msgstr "Localizar em Ficheiros..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Substituir..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Ajuda Contextual" @@ -8213,6 +8335,19 @@ msgid "Toggle Freelook" msgstr "Alternar Freelook" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Restaurar Predefinição" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformar" @@ -8934,6 +9069,29 @@ msgid "Another Theme" msgstr "Outro Tema" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Adicionar Tipo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfis disponíveis:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Nome do Ficheiro vazio." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Está seguro que quer abrir mais do que um Projeto?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Confirmar Renomear Item" @@ -8958,18 +9116,6 @@ msgstr "" "atualizar as mesmas em todos os StyleBoxes deste tipo." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Adicionar Tipo" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Adicionar Tipo de Item" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Tipos de Nó:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Mostrar Predefinição" @@ -8987,6 +9133,10 @@ msgid "Override all default type items." msgstr "Sobrepõe todos os itens de tipo predefinido." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Adicionar Tipo de Item" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -11484,10 +11634,6 @@ msgid "Batch Rename" msgstr "Renomear em Massa" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Substituir:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefixo:" @@ -11777,6 +11923,20 @@ msgstr "" "cena instanciada usando Cena > Nova Cena Herdada..." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Guardar Nova Cena Como..." @@ -12739,63 +12899,70 @@ msgstr "Construir Solução" msgid "End of inner exception stack trace" msgstr "Fim do stack trace de exceção interna" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Um recurso NavigationMesh tem de ser definido ou criado para este nó " +"funcionar." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Consolidar NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Limpar a malha de navegação." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "A ajustar configuração..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "A calcular tamanho da grelha..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "A criar heightfield..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "A marcar triângulos caminháveis..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "A construir heightfield compacto..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "A corroer a área caminhável..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "A segmentar..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "A criar contornos..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "A criar polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "A converter para malha de navegação nativa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Configuração do Gerador da Malha de Navegação:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "A analisar geometria..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Feito!" @@ -13363,51 +13530,41 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" -"\"Usar Compilação Personalizada\" têm de estar ativa para usar os plugins." +msgstr "\"Use Custom Build\" têm de estar ativa para usar os plugins." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " "or \"OpenXR\"." msgstr "" -"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" -"\"." +"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile " +"VrApi\" ou \"OpenXR\"." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." -msgstr "" -"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" -"\"." +msgstr "\"Passthrough\" só é válido quando \"Modo Xr\" é \"OpenXR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" -"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " -"ativa." +msgstr "\"Exportar AAB\" só é válido quando \"Use Custom Build\" está ativa." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." msgstr "" -"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " -"ativa." +"Mudança de \"Min Sdk\" só é válida quando \"Use Custom Build\" está ativa." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " "enabled." msgstr "" -"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " -"ativa." +"Mudança de \"Target Sdk\" só é válida quando \"Use Custom Build\" está ativa." #: platform/android/export/export_plugin.cpp msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." msgstr "" +"Versão de \"Target Sdk\" tem de ser maior ou igual à versão de \"Min Sdk\"." #: platform/android/export/export_plugin.cpp msgid "" @@ -13835,6 +13992,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "O polígono oclusor deste oclusor está vazio. Desenhe um polígono." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14089,13 +14256,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "Uma SpotLight com ângulo superior a 90 graus não cria sombras." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Um recurso NavigationMesh tem de ser definido ou criado para este nó " -"funcionar." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14103,6 +14268,12 @@ msgstr "" "NavigationMeshInstance tem de ser filho ou neto de um nó Navigation. Apenas " "fornece dados de navegação." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Nenhuma forma está definida." @@ -14578,10 +14749,6 @@ msgstr "" "'vertex' ou 'light'." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "Variante fragment-stage não pode ser acedida em função personalizada!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Atribuição a função." diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 2045a1140c..f4872c4483 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -1,6 +1,6 @@ # Portuguese (Brazil) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Allyson Souza <allyson_as@outlook.com>, 2017. # Anderson Araujo <anderson.araujoprog@gmail.com>, 2018. @@ -105,7 +105,7 @@ # Elton <eltondeoliveira@outlook.com>, 2020, 2021. # ThiagoCTN <thiagocampostn@gmail.com>, 2020. # Alec Santos <alecsantos96@gmail.com>, 2020. -# Augusto Milão <augusto.milao01@gmail.com>, 2021. +# Augusto Milão <augusto.milao01@gmail.com>, 2021, 2022. # Gabriel Gavazzi Felix <mutcholoko32@gmail.com>, 2021. # Lucas Dantas <lucas.lucantas38@gmail.com>, 2021. # Carlos Bonifacio <carlosboni.sa@gmail.com>, 2021. @@ -130,13 +130,16 @@ # Cearaj <pmoraisleal@gmail.com>, 2021. # Alefy San <alefyferreiradeoliveira@outlook.com>, 2021. # Joel Gomes da Silva <joelgomes1994@hotmail.com>, 2021. +# Orangotango De tanga <luizinho0045@gmail.com>, 2021. +# Felipe SiFa <felipe@logus.digital>, 2022. +# Gabriel Gian <gabrielgian@live.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2021-12-09 23:13+0000\n" -"Last-Translator: Joel Gomes da Silva <joelgomes1994@hotmail.com>\n" +"PO-Revision-Date: 2022-01-07 11:42+0000\n" +"Last-Translator: Felipe SiFa <felipe@logus.digital>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -144,7 +147,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -446,6 +449,11 @@ msgid "Duplicate Key(s)" msgstr "Duplicar Chave(s)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Adicionar %d Frame(s)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Deletar Chave(s)" @@ -616,6 +624,11 @@ msgstr "" "única." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Alterar Escala das Chaves na Anim" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -813,7 +826,7 @@ msgstr "Mudar Deslocamento do Início do Clip de Trilha de Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "Alterar fim da Trilha de Aúdio" +msgstr "Alterar fim da Trilha de Áudio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -1598,6 +1611,10 @@ msgid "Invalid name." msgstr "Nome Inválido." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caracteres válidos:" @@ -1702,7 +1719,9 @@ msgstr "Atualizando Cena..." msgid "[empty]" msgstr "[vazio]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[não salvo]" @@ -1723,6 +1742,7 @@ msgstr "Criar Pasta" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nome:" @@ -2220,7 +2240,8 @@ msgid "Properties" msgstr "Propriedades" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "sobrescrever:" #: editor/editor_help.cpp @@ -2252,7 +2273,6 @@ msgid "Icons" msgstr "Ícones" #: editor/editor_help.cpp -#, fuzzy msgid "Styles" msgstr "Estilo" @@ -2361,6 +2381,20 @@ msgstr "Propriedade do Tema" msgid "Property:" msgstr "Propriedade:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valor)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2370,6 +2404,29 @@ msgstr "Conjunto %s" msgid "Set Multiple:" msgstr "Definir Múltiplos:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Copiar Propriedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Colar Propriedades" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Copiar Caminho do Script" + #: editor/editor_log.cpp msgid "Output:" msgstr "Saída:" @@ -2416,7 +2473,7 @@ msgstr "Acima" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "Nó" +msgstr "Nodo" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -2444,8 +2501,8 @@ msgid "" "Update Continuously is enabled, which can increase power usage. Click to " "disable it." msgstr "" -"Gira quando a janela do editor é redesenhada.\n" -"Atualização contínua está habilitada, o que pode aumentar o uso de energia. " +"Roda quando a janela do editor é redesenhada.\n" +"Atualização Continua é habilitada, o que pode aumentar o consumo de energia. " "Clique para desativá-lo." #: editor/editor_node.cpp @@ -2836,7 +2893,9 @@ msgstr "" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: '%s'." -msgstr "Não foi possível encontrar o campo de script para o plugin em: '%s'." +msgstr "" +"Não foi possível encontrar o campo de script para o plugin em: 'res://addons/" +"%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." @@ -3188,6 +3247,20 @@ msgstr "" "durante o projeto em execução." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sincronizar Mudanças de Cena" @@ -3449,7 +3522,7 @@ msgstr "Aplicar transformações da MeshInstance" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "Abrir e Rodar um Script" +msgstr "Abrir e Executar um Script" #: editor/editor_node.cpp msgid "" @@ -4226,19 +4299,19 @@ msgstr "Ordenar arquivos" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "Ordenar por Nome (Ascendente)" +msgstr "Ordenar por Nome (Crescente)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "Ordenar por Nome (Descendente)" +msgstr "Ordenar por Nome (Decrescente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "Ordenar por Tipo (Ascendente)" +msgstr "Ordenar por Tipo (Crescente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "Ordenar por Tipo (Descendente)" +msgstr "Ordenar por Tipo (Decrescente)" #: editor/filesystem_dock.cpp msgid "Sort by Last Modified" @@ -4258,7 +4331,7 @@ msgstr "Renomear..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "Focar a caixa de pesquisa" +msgstr "Foca a caixa de pesquisa" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4319,6 +4392,10 @@ msgstr "Localizar nos arquivos" msgid "Find:" msgstr "Encontrar:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Substituir:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Pasta:" @@ -4344,6 +4421,11 @@ msgstr "Localizar..." msgid "Replace..." msgstr "Substituir..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Substituir Tudo" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Encontrar: " @@ -4353,8 +4435,9 @@ msgid "Replace: " msgstr "Substituir: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Substituir Tudo (sem desfazer)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Substituir Tudo" #: editor/find_in_files.cpp msgid "Searching..." @@ -4362,7 +4445,7 @@ msgstr "Procurando..." #: editor/find_in_files.cpp msgid "%d match in %d file." -msgstr "%d correspondências no arquivo %d." +msgstr "%d corresponde a %d arquivo." #: editor/find_in_files.cpp msgid "%d matches in %d file." @@ -4516,7 +4599,7 @@ msgstr "Importador:" #: editor/import_defaults_editor.cpp msgid "Reset to Defaults" -msgstr "Redefinir padrões" +msgstr "Redefinir para o padrão" #: editor/import_dock.cpp msgid "Keep File (No Import)" @@ -4575,6 +4658,12 @@ msgstr "" "AVISO: Existem objetos que utilizam esse recurso, eles podem parar de " "carregar apropriadamente." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Falha ao carregar recurso." @@ -4910,7 +4999,7 @@ msgstr "Nó de Saída não pode ser adicionado à árvore de mistura." #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Add Node to BlendTree" -msgstr "Adicionar Nó(s) a Partir da Árvore (BlendTree)" +msgstr "Adicionar Nó(s) à BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Node Moved" @@ -5853,7 +5942,7 @@ msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Filhos de contêineres tem suas posições e tamanhos sobrescritos pelos seus " +"Filhos de contêineres têm suas posições e tamanhos sobrescritos pelos seus " "pais." #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6043,6 +6132,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Arrastar: Mover nó selecionado." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Arrastar: Mover nó selecionado." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Define a posição do pivô do nó selecionado." @@ -6073,6 +6167,10 @@ msgid "Scale Mode" msgstr "Modo de Escalonamento" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6169,20 +6267,44 @@ msgstr "Travar o objeto selecionado no local (não pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Fixar Seleção" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Destravar o objeto selecionado (pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Destravar Selecionado" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Garante que os filhos do objeto não sejam selecionáveis." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Agrupar Selecionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaura a habilidade dos filhos do objeto de serem selecionados." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Desagrupar Selecionados" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Opções de esqueleto" @@ -7824,6 +7946,11 @@ msgid "Find in Files..." msgstr "Procurar nos Arquivos..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Substituir..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Ajuda Contextual" @@ -8313,19 +8440,19 @@ msgstr "Orbitar Visão Para Baixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Left" -msgstr "Orbitar Visão Para Esquerda" +msgstr "Orbitar Visão para a Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Right" -msgstr "Orbitar Visão Para Direita" +msgstr "Orbitar Visão para a Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Up" -msgstr "Orbitar Visão Para Cima" +msgstr "Orbitar Visão para Cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View 180" -msgstr "Orbitar Visão Em 180" +msgstr "Orbitar Visão em 180" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" @@ -8348,6 +8475,19 @@ msgid "Toggle Freelook" msgstr "Alternar Visão Livre" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Redefinir padrões" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformação" @@ -9070,6 +9210,29 @@ msgid "Another Theme" msgstr "Outro Tema" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Adicionar Modelo" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Perfis Disponíveis:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "O nome do arquivo está vazio." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Tem certeza de que quer abrir mais de um projeto?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Confirmar Renomeação do Item" @@ -9094,18 +9257,6 @@ msgstr "" "atualizará as mesmas propriedades em todos os outros StyleBoxes deste tipo." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Adicionar Modelo" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Adicionar Tipo de Item" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Tipos de Nó:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Mostrar Padrão" @@ -9123,6 +9274,10 @@ msgid "Override all default type items." msgstr "Substituir todos os itens do modelo padrão." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Adicionar Tipo de Item" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -9151,7 +9306,7 @@ msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" -"Alterar o selecionador de controles, permitindo selecionar visualmente os " +"Acionar o selecionador de controles, permitindo selecionar visualmente os " "tipos de controles para edição." #: editor/plugins/theme_editor_preview.cpp @@ -11623,10 +11778,6 @@ msgid "Batch Rename" msgstr "Renomear em lote" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Substituir:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Prefixo:" @@ -11918,6 +12069,20 @@ msgstr "" "disso." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Salvar Nova Cena Como..." @@ -12853,7 +13018,7 @@ msgstr "Gerar buffers" #: modules/lightmapper_cpu/lightmapper_cpu.cpp msgid "Direct lighting" -msgstr "Direct lightning" +msgstr "Iluminação direta" #: modules/lightmapper_cpu/lightmapper_cpu.cpp msgid "Indirect lighting" @@ -12879,63 +13044,70 @@ msgstr "Construir Solução" msgid "End of inner exception stack trace" msgstr "Fim da pilha de rastreamento de exceção interna" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Um recurso do tipo NavigationMesh deve ser definido ou criado para que este " +"nó funcione." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Bake NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Apagar a malha de navegação." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Preparando Configuração..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calculando tamanho da grade..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Criando mapa de altura..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marcando triângulos caminháveis..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construindo um mapa de altura compacto..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Erodindo área caminhável..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Particionando..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Criando contornos..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Criando polimalha..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Convertando para malha de navegação nativa..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Configuração do Gerador de Malha de Navegação:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Analisando Geometria..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Pronto!" @@ -13464,7 +13636,7 @@ msgstr "Um caminho Android SDK é necessário nas Configurações do Editor." #: platform/android/export/export_plugin.cpp msgid "Invalid Android SDK path in Editor Settings." -msgstr "Caminho do Android SDK está inválido para Configurações do Editor." +msgstr "Caminho do Android SDK está inválido nas Configurações do Editor." #: platform/android/export/export_plugin.cpp msgid "Missing 'platform-tools' directory!" @@ -13483,7 +13655,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "Missing 'build-tools' directory!" -msgstr "Diretório 'ferramentas-da-plataforma' está faltando !" +msgstr "Diretório 'ferramentas-da-plataforma' está faltando!" #: platform/android/export/export_plugin.cpp msgid "Unable to find Android SDK build-tools' apksigner command." @@ -13514,7 +13686,6 @@ msgstr "" "utilizar plugins." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " "or \"OpenXR\"." @@ -13522,10 +13693,9 @@ msgstr "" "\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" -"\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"." +"\"Passthrough\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13534,7 +13704,6 @@ msgstr "" "habilitado." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." msgstr "" @@ -13542,7 +13711,6 @@ msgstr "" "habilitado." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " "enabled." @@ -13553,6 +13721,8 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." msgstr "" +"Versão do \"Target Sdk\" precisa ser igual ou maior que a versão do \"Min Sdk" +"\"." #: platform/android/export/export_plugin.cpp msgid "" @@ -13596,7 +13766,7 @@ msgstr "Exportando para Android" #: platform/android/export/export_plugin.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." -msgstr "Nome de arquivo invalido! Android App Bunlde requer a extensão *.aab." +msgstr "Nome de arquivo inválido! Android App Bundle requer a extensão *.aab." #: platform/android/export/export_plugin.cpp msgid "APK Expansion not compatible with Android App Bundle." @@ -13976,6 +14146,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "O polígono para este oclusor está vazio. Por favor desenhe um polígono." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14234,13 +14414,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "Um SpotLight com um ângulo maior que 90 graus não pode criar sombras." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Um recurso do tipo NavigationMesh deve ser definido ou criado para que este " -"nó funcione." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14248,6 +14426,12 @@ msgstr "" "NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele " "apenas fornece dados de navegação." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Nenhuma forma foi definida." @@ -14571,7 +14755,7 @@ msgid "" "children placement behavior.\n" "If you don't intend to add a script, use a plain Control node instead." msgstr "" -"O contêiner por si só não tem nenhum propósito, a menos que um script " +"O contêiner por si só não possui propósito algum, a menos que um script " "configure seu comportamento de posicionamento dos filhos.\n" "Se você não pretende adicionar um script, use um nó de Controle simples." @@ -14598,7 +14782,7 @@ msgstr "Deve usar uma extensão válida." #: scene/gui/graph_edit.cpp msgid "Enable grid minimap." -msgstr "Ativar minimapa de grade." +msgstr "Ativar mini mapa em grade." #: scene/gui/nine_patch_rect.cpp msgid "" @@ -14669,10 +14853,11 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" -"Este viewport não está definido como destino de render. Se você pretende que " -"ele mostre seu conteúdo diretamente na tela, faça-o filho de um nó Control " -"para que ele possa ter um tamanho. Caso contrário, defina-o como destino de " -"render e atribua sua textura interna a algum nó para exibir." +"Este viewport não está definido como destino de renderização. Se você " +"pretende que ele mostre seu conteúdo diretamente na tela, faça-o filho de um " +"nó de Controle para que ele possa ter um tamanho. Caso contrário, defina-o " +"como destino de renderização e atribua sua textura interna a algum nó para " +"exibir." #: scene/main/viewport.cpp msgid "" @@ -14727,10 +14912,6 @@ msgstr "" "'vertex' ou 'light'." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "Variante Fragment-stage não pôde ser acessada na função personalizada!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Atribuição à função." diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 8a556a8e8f..d763d64a8c 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -1,6 +1,6 @@ # Romanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Calin Sopterean <csopterean@gmail.com>, 2018. # Filip <filipanton@tutanota.com>, 2018, 2020. @@ -336,6 +336,10 @@ msgid "Duplicate Key(s)" msgstr "Clonare Chei" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Ștergeți Cheile" @@ -504,6 +508,11 @@ msgstr "" "singură pistă." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Scalați Cheile" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1490,6 +1499,10 @@ msgid "Invalid name." msgstr "Nume nevalid." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Caractere valide:" @@ -1598,7 +1611,9 @@ msgstr "Scena se Actualizează..." msgid "[empty]" msgstr "[gol]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[nesalvat]" @@ -1619,6 +1634,7 @@ msgstr "Creare folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Nume:" @@ -2118,7 +2134,8 @@ msgid "Properties" msgstr "Proprietăți" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "extindere:" #: editor/editor_help.cpp @@ -2259,6 +2276,20 @@ msgstr "Proprietate Temă" msgid "Property:" msgstr "Proprietate:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(valoare)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp #, fuzzy @@ -2269,6 +2300,29 @@ msgstr "Setați %s" msgid "Set Multiple:" msgstr "Seteaza Multiple:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Proprietăți" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Proprietăți" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Proprietăți" + #: editor/editor_log.cpp msgid "Output:" msgstr "Afișare:" @@ -3079,6 +3133,20 @@ msgstr "" "dacă această opțiune este activată." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Sincronizează Modificările Scenei" @@ -4198,6 +4266,11 @@ msgstr "Caută în fișiere" msgid "Find:" msgstr "Găsiți:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Înlocuiți:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Folderul:" @@ -4221,6 +4294,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Înlocuiți Tot" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Găsiți: " @@ -4230,8 +4308,9 @@ msgid "Replace: " msgstr "Înlocuiți: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Înlocuiește tot (fără anulare)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Înlocuiți Tot" #: editor/find_in_files.cpp msgid "Searching..." @@ -4449,6 +4528,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Încărcarea resursei a eșuat." @@ -5969,6 +6054,11 @@ msgstr "Alt+Trage: Mutare" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Trage: Mutare" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Ștergeți pista selectată." @@ -6001,6 +6091,10 @@ msgid "Scale Mode" msgstr "Mod Redimensionare (R)" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6108,20 +6202,44 @@ msgstr "Imobilizează obiectul selectat (nu poate fi mișcat)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Selectează" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Remobilizează obiectul selectat (poate fi mișcat)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Selectează" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Asigură-te că nu pot fi selectați copiii obiectului." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Elminați Selecția" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Restaurează abilitatea copiilor obiectului de a fi selectați." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Elminați Selecția" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Singleton (Unicat)" @@ -7816,6 +7934,11 @@ msgid "Find in Files..." msgstr "Filtrează fișierele..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Filtrează fișierele..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8358,6 +8481,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Încărcați Implicit" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9137,6 +9273,30 @@ msgstr "Membri" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Adaugă Obiect" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profile Disponibile:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Numele fișierului este gol." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Ești sigur că vrei să ștergi toate conexiunile de la acest semnal?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Redenumește Pista Anim" @@ -9162,21 +9322,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Adaugă Obiect" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Adaugă Obiect" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Tip nod" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Încărcați Implicit" @@ -9195,6 +9340,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Adaugă Obiect" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Membri" @@ -11654,11 +11804,6 @@ msgid "Batch Rename" msgstr "Redenumește" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Înlocuiți:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11938,6 +12083,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12917,63 +13076,68 @@ msgstr "Toată selecția" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Curăță mesh-ul de navigare." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Inițializarea configurației..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Calcularea mărimii grilei..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Crearea câmpului de înălțare..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Marcarea triunghiurilor traversabile..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Construcție câmp de înălțare compact..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Reducerea zonei traversabile..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partiționare..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Crearea conturilor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Crearea plasei de contur..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Se convertește în mesh nativ de navigare..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Setup Generare Mesh de Navigare:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Analiza geometriei..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Efectuat!" @@ -13953,6 +14117,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14161,16 +14335,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14568,10 +14748,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index faabe7c86d..dfecd99550 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -1,6 +1,6 @@ # Russian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Аркадий Авас <savvot@gmail.com>, 2018. # Artem Varaksa <aymfst@gmail.com>, 2018. @@ -421,6 +421,11 @@ msgid "Duplicate Key(s)" msgstr "Дублировать ключ(и)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Добавить кадров: %d" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Удалить ключ(и)" @@ -590,6 +595,11 @@ msgstr "" "одна дорожка." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Масштабировать ключи" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1570,6 +1580,10 @@ msgid "Invalid name." msgstr "Недопустимое имя." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Допустимые символы:" @@ -1674,7 +1688,9 @@ msgstr "Обновление сцены..." msgid "[empty]" msgstr "[пусто]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[не сохранено]" @@ -1695,6 +1711,7 @@ msgstr "Создать папку" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Имя:" @@ -2194,7 +2211,8 @@ msgid "Properties" msgstr "Свойства" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "переопределено:" #: editor/editor_help.cpp @@ -2334,6 +2352,20 @@ msgstr "Свойство темы" msgid "Property:" msgstr "Параметр:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(значение)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2343,6 +2375,29 @@ msgstr "Задать %s" msgid "Set Multiple:" msgstr "Задать несколько:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Копировать свойства" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Вставить свойства" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Копировать путь к скрипту" + #: editor/editor_log.cpp msgid "Output:" msgstr "Вывод:" @@ -3158,6 +3213,20 @@ msgstr "" "запущенном проекте." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Синхронизация изменений в сценах" @@ -4280,6 +4349,10 @@ msgstr "Найти в файлах" msgid "Find:" msgstr "Найти:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Заменить:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Папка:" @@ -4305,6 +4378,11 @@ msgstr "Найти..." msgid "Replace..." msgstr "Заменить..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Заменить всё" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Найти: " @@ -4314,8 +4392,9 @@ msgid "Replace: " msgstr "Заменить: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Заменить всё (нельзя отменить)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Заменить всё" #: editor/find_in_files.cpp msgid "Searching..." @@ -4535,6 +4614,12 @@ msgstr "" "Предупреждение: существуют объекты, которые используют этот ресурс, они " "могут перестать загружаться должным образом." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Не удалось загрузить ресурс." @@ -5994,6 +6079,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Тащить: перемещение выбранного узла." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Тащить: перемещение выбранного узла." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Задать положение pivot выделенного узла." @@ -6024,6 +6114,10 @@ msgid "Scale Mode" msgstr "Режим масштабирования" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6120,20 +6214,44 @@ msgstr "Зафиксировать выбранный объект." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Заблокировать выбранное" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Разблокировать выбранный объект." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Разблокировать выделенное" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Делает потомков объекта невыбираемыми." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Сгруппировать выделенное" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Восстанавливает возможность выбора потомков объекта." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Разгруппировать выделенное" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Опции скелета" @@ -7775,6 +7893,11 @@ msgid "Find in Files..." msgstr "Найти в файлах..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Заменить..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Контекстная справка" @@ -8300,6 +8423,19 @@ msgid "Toggle Freelook" msgstr "Включить свободный вид" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Сбросить настройки" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Преобразование" @@ -9023,6 +9159,29 @@ msgid "Another Theme" msgstr "Другая тема" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Добавить тип" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Доступные профили:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Пустое имя файла." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Вы уверены, что хотите открыть более одного проекта?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Подтвердить переименование элемента" @@ -9048,18 +9207,6 @@ msgstr "" "этого типа." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Добавить тип" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Добавить тип элемента" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Типы узлов:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Показать по умолчанию" @@ -9078,6 +9225,10 @@ msgid "Override all default type items." msgstr "Переопределить все элементы типа по умолчанию." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Добавить тип элемента" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Тема:" @@ -11576,10 +11727,6 @@ msgid "Batch Rename" msgstr "Групповое переименование" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Заменить:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Префикс:" @@ -11876,6 +12023,20 @@ msgstr "" "унаследованная сцена..." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Сохранить новую сцену как..." @@ -12840,63 +13001,69 @@ msgstr "Собрать решение" msgid "End of inner exception stack trace" msgstr "Конец трассировки внутреннего стека исключений" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Ресурс NavigationMesh должен быть установлен или создан для этого узла." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Запечь NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Очистить полисетку навигации." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Настройка конфигурации..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Расчёт размера сетки..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Создание карты высот..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Маркировка проходимых треугольников..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Построение компактной карты высот..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Размытие проходимого района..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Разбиение..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Создание контуров..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Создание полисетки..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Преобразование в собственную навигационную полисетку..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Настройка генератора навигационной полисетки:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Анализ геометрии..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Сделано!" @@ -13920,6 +14087,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "Заслоняющий полигон для этого окклюдера пуст. Пожалуйста, добавьте полигон." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14179,12 +14356,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight с углом более 90 градусов не может отбрасывать тени." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Ресурс NavigationMesh должен быть установлен или создан для этого узла." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14192,6 +14368,12 @@ msgstr "" "NavigationMeshInstance должен быть дочерним или под-дочерним узлом " "Navigation. Он предоставляет только навигационные данные." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Форма не задана." @@ -14672,10 +14854,6 @@ msgstr "" "или «light»." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "Varying стадии fragment не доступны из пользовательских функций!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Назначение функции." diff --git a/editor/translations/si.po b/editor/translations/si.po index 045d642f0a..c1b97c5ebf 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -1,6 +1,6 @@ # Sinhala translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Yohan Sandun <Yohan99ysk@gmail.com>, 2018. # thushariii <thusharipahalage@gmail.com>, 2021. @@ -328,6 +328,10 @@ msgid "Duplicate Key(s)" msgstr "යතුරු පිටපත් කරන්න" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "යතුරු මකා දමන්න" @@ -503,6 +507,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1459,6 +1467,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1563,7 +1575,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1584,6 +1598,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2057,7 +2072,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2194,6 +2209,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2203,6 +2231,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "ලක්ෂණය ලුහුබදින්න" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "යතුරු පිටපත් කරන්න" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "ලක්ෂණය ලුහුබදින්න" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2942,6 +2993,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4003,6 +4068,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4026,6 +4095,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4035,7 +4108,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4250,6 +4323,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5691,6 +5770,11 @@ msgid "Alt+Drag: Move selected node." msgstr "තෝරාගත් යතුරු මකා දමන්න" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "තෝරාගත් යතුරු මකා දමන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5719,6 +5803,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5814,20 +5902,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "යතුරු මකා දමන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "තෝරාගත් යතුරු පිටපත් කරන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "තෝරාගත් යතුරු පිටපත් කරන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "තෝරාගත් යතුරු පිටපත් කරන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7437,6 +7549,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7949,6 +8065,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8672,38 +8800,46 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "ලුහුබදින්නෙක් එක් කරන්න" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Type" -msgstr "ලුහුබදින්නෙක් එක් කරන්න" +msgid "Cancel Item Rename" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8723,6 +8859,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11086,10 +11226,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11366,6 +11502,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12299,63 +12449,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13303,6 +13458,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13509,16 +13674,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13913,10 +14084,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 330fb36807..09e2d1221d 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -1,6 +1,6 @@ # Slovak translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # J08nY <johnenter@gmail.com>, 2016. # MineGame 159 <minegame459@gmail.com>, 2018. @@ -328,6 +328,10 @@ msgid "Duplicate Key(s)" msgstr "Duplikovanie Kľúčov" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Vymazanie kľúča(ov)" @@ -496,6 +500,11 @@ msgid "" msgstr "Táto možnosť nefunguje pre Bezier editovanie, lebo je to jeden track." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Scale keys Animácie" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1483,6 +1492,10 @@ msgid "Invalid name." msgstr "Neplatný Názov." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Platné písmená:" @@ -1588,7 +1601,9 @@ msgstr "Aktualizovanie scény..." msgid "[empty]" msgstr "[Prázdne]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[Neuložené]" @@ -1609,6 +1624,7 @@ msgstr "Vytvoriť adresár" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Meno:" @@ -2112,7 +2128,8 @@ msgid "Properties" msgstr "Vlastnosti" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "Predpísať:" #: editor/editor_help.cpp @@ -2252,6 +2269,20 @@ msgstr "Vlastnosť Témy" msgid "Property:" msgstr "Vlastnosť:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(hodnota)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2261,6 +2292,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Nastaviť Viac:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Vlastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Vlastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Vlastnosti" + #: editor/editor_log.cpp msgid "Output:" msgstr "Output:" @@ -3068,6 +3122,20 @@ msgstr "" "Navigačné mesh-e a polygony budú viditeľné po spustení projektu." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Zosynchronizovať Zmeny Scény" @@ -4208,6 +4276,11 @@ msgstr "Nájsť v Súboroch" msgid "Find:" msgstr "Nájsť:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Nahradiť: " + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Priečinok:" @@ -4233,6 +4306,11 @@ msgstr "Nájsť..." msgid "Replace..." msgstr "Nahradiť..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Nahradiť Všetko" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Nájsť: " @@ -4242,8 +4320,9 @@ msgid "Replace: " msgstr "Nahradiť: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Nahradiť všetky (nedá sa vrátiť späť)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Nahradiť Všetko" #: editor/find_in_files.cpp msgid "Searching..." @@ -4458,6 +4537,12 @@ msgstr "" "VAROVANIE: Položky ktoré existujú v tomto prostriedku, Sa nemusia načitať " "správne." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Nepodarilo sa načítať prostriedok." @@ -5933,6 +6018,11 @@ msgstr "Alt+Potiahnutie: Pohyb" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Potiahnutie: Pohyb" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Vymazať označený node alebo prechod." @@ -5964,6 +6054,10 @@ msgid "Scale Mode" msgstr "Zmena Veľkosti" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6060,20 +6154,44 @@ msgstr "Zamknúť označený objekt na mieste (už sa s ním nebude dať hýbať #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Zamknúť Označené" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Odomknúť označený objekt (dá sa s ním hýbať)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Odomknúť Označené" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Uistite sa že sa nedá označiť dieťa objektu." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Pridať Označené do Skupiny" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Aby ste označili dieťa objektu tak mu musíte obnoviť schopnosť." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Odskupiť Označené" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Nastavenia Kostry" @@ -7734,6 +7852,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Nahradiť..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8273,6 +8396,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Obnoviť na východzie" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9044,6 +9180,30 @@ msgstr "Súbor:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Pridať Node" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Profily k dispozícii:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Mesh je prázdny!" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Naozaj chcete odstrániť všetky pripojenia z tohto signálu?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Konfigurovať Prichytenie" @@ -9068,20 +9228,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Pridať Node" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Meno Node-u:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Načítať predvolené" @@ -9099,6 +9245,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Súbor:" @@ -11563,11 +11713,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Nahradiť: " - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11842,6 +11987,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12817,63 +12976,68 @@ msgstr "Všetky vybrané" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13870,6 +14034,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14084,16 +14258,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14490,10 +14670,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 402c9008e2..afb725022c 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -1,6 +1,6 @@ # Slovenian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # matevž lapajne <sivar.lapajne@gmail.com>, 2016-2018. # Matjaž Vitas <matjaz.vitas@gmail.com>, 2017-2018. @@ -347,6 +347,10 @@ msgid "Duplicate Key(s)" msgstr "Animacija Podvoji ključe" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "Animacija Izbriši ključe" @@ -528,6 +532,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Spremeni Obseg Ključev" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1544,6 +1553,10 @@ msgid "Invalid name." msgstr "Neveljavno ime." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Veljavni znaki:" @@ -1655,7 +1668,9 @@ msgstr "Posodabljanje scene..." msgid "[empty]" msgstr "[prazno]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[neshranjeno]" @@ -1677,6 +1692,7 @@ msgstr "Ustvarite Mapo" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Ime:" @@ -2192,7 +2208,7 @@ msgid "Properties" msgstr "Lastnosti" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2352,6 +2368,20 @@ msgstr "Lastnosti" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Novo ime:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2361,6 +2391,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Lastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Lastnosti" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Lastnosti" + #: editor/editor_log.cpp msgid "Output:" msgstr "Izhod:" @@ -3177,6 +3230,20 @@ msgstr "" "poteku igre." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Usklajuj Spremembe Prizora" @@ -4332,6 +4399,11 @@ msgstr "%d več datotek" msgid "Find:" msgstr "Najdi" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Zamenjaj" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4357,6 +4429,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Zamenjaj Vse" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4369,7 +4446,7 @@ msgstr "Zamenjaj" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Zamenjaj Vse" #: editor/find_in_files.cpp @@ -4600,6 +4677,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Napaka pri nalaganju vira." @@ -6161,6 +6244,11 @@ msgstr "Alt+Drag: Premakni" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Drag: Premakni" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Odstrani izbrano sled." @@ -6193,6 +6281,10 @@ msgid "Scale Mode" msgstr "Način Obsega (R)" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6303,20 +6395,44 @@ msgstr "Izbrani predmet zakleni na svoje mesto (ni ga mogoče premakniti)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Izbira Orodja" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Odkleni izbrani predmet (lahko ga premaknete)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Izbriši Izbrano" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Odstrani izbrano" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Odstrani izbrano" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Posameznik" @@ -8004,6 +8120,11 @@ msgid "Find in Files..." msgstr "Filtriraj datoteke..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Filtriraj datoteke..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8545,6 +8666,19 @@ msgid "Toggle Freelook" msgstr "Preklopi Svobodni Pregled" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Naložite Prevzeto" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Preoblikovanje" @@ -9329,6 +9463,29 @@ msgstr "Člani" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Poišči tip vozlišča" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Na voljo Nodes:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Model je prazen!" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Animacija Preimenuj sled" @@ -9353,20 +9510,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Poišči tip vozlišča" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Poišči tip vozlišča" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Naložite Prevzeto" @@ -9383,6 +9526,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "Člani" @@ -11876,11 +12023,6 @@ msgid "Batch Rename" msgstr "Preimenuj" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Zamenjaj" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -12169,6 +12311,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -13166,63 +13322,68 @@ msgstr "Celotna izbira" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -14234,6 +14395,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14447,16 +14618,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14867,10 +15044,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index 8fcc01ee4c..6669292e99 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -1,6 +1,6 @@ # Albanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Igli <iglibh@outlook.com>, 2018. # Enrik Qose <enrikqose@gmail.com>, 2019. @@ -324,6 +324,10 @@ msgid "Duplicate Key(s)" msgstr "Dyfisho Key(s)" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Fshi Key(s)" @@ -488,6 +492,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1481,6 +1489,10 @@ msgid "Invalid name." msgstr "Emër i palejuar." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Karakteret e lejuar:" @@ -1592,7 +1604,9 @@ msgstr "Duke përditësuar skenën..." msgid "[empty]" msgstr "[bosh]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[e paruajtur]" @@ -1614,6 +1628,7 @@ msgstr "Krijo një Folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Emri:" @@ -2138,7 +2153,7 @@ msgstr "Vetitë" #: editor/editor_help.cpp #, fuzzy -msgid "override:" +msgid "overrides %s:" msgstr "Mbishkruaj" #: editor/editor_help.cpp @@ -2286,6 +2301,20 @@ msgstr "Vetitë e Temës" msgid "Property:" msgstr "Vetitë:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Vlerë e Re:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2295,6 +2324,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Vendos të Shumëfishta:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Vetitë" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Vetitë" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Vetitë" + #: editor/editor_log.cpp msgid "Output:" msgstr "Përfundimi:" @@ -3116,6 +3168,20 @@ msgstr "" "opsion është i aktivizuar." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Sinkronizo Nryshimet e Skenës" @@ -4264,6 +4330,11 @@ msgstr "Gjej në Skedarët" msgid "Find:" msgstr "Gjej:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Zëvendëso: " + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Folderi:" @@ -4287,6 +4358,11 @@ msgstr "Gjej..." msgid "Replace..." msgstr "Zëvendëso..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Hap Skedarët" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Gjej: " @@ -4296,7 +4372,8 @@ msgid "Replace: " msgstr "Zëvendëso: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +#, fuzzy +msgid "Replace All (NO UNDO)" msgstr "Zëvendëso të gjitha (pa kthim pas)" #: editor/find_in_files.cpp @@ -4528,6 +4605,12 @@ msgstr "" "Kujdes: Egzistojnë asete që përdorin këtë resurs, ato mund të ndalojnë të " "ngarkohen si duhet." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Dështoi të ngarkojë resursin." @@ -5984,6 +6067,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "V: Set selected node's pivot position." msgstr "Nyja e zgjedhur nuk është një 'Viewport'!" @@ -6013,6 +6100,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6108,20 +6199,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Zgjidh" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Zgjidh" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Zgjidh" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Zgjidh" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7755,6 +7870,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Zëvendëso..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8282,6 +8402,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Ngarko të Parazgjedhur" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9042,6 +9175,29 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Vetitë:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Clipboard-i është bosh" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "A jeni i sigurt që doni të hiqni të gjitha lidhjet nga ky sinjal?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "" @@ -9065,19 +9221,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Emri i Nyjes:" - -#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Show Default" msgstr "Ngarko të Parazgjedhur" @@ -9096,6 +9239,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr " Skedarët" @@ -11501,11 +11648,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Zëvendëso: " - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11786,6 +11928,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12754,63 +12910,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13783,6 +13944,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13991,16 +14162,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14395,10 +14572,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index afd2bbdd52..fb013c20a9 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -1,6 +1,6 @@ # Serbian (cyrillic) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Александар Урошевић <nicecubedude@gmail.com>, 2017. @@ -359,6 +359,11 @@ msgstr "Дуплирај кључеве" #: editor/animation_track_editor.cpp #, fuzzy +msgid "Add RESET Value(s)" +msgstr "Додај оквир" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "Delete Key(s)" msgstr "Уколни кључеве" @@ -549,6 +554,11 @@ msgstr "Ова операција не ради за Безиер уређива #: editor/animation_track_editor.cpp #, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Увећај кључеве" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1601,6 +1611,10 @@ msgid "Invalid name." msgstr "Неважеће име." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Важећа слова:" @@ -1712,7 +1726,9 @@ msgstr "Ажурирам сцену..." msgid "[empty]" msgstr "(празно)" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "[unsaved]" msgstr "[несачувано]" @@ -1735,6 +1751,7 @@ msgstr "Направи директоријум" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Име:" @@ -2284,7 +2301,7 @@ msgstr "Особине" #: editor/editor_help.cpp #, fuzzy -msgid "override:" +msgid "overrides %s:" msgstr "препиши" #: editor/editor_help.cpp @@ -2449,6 +2466,20 @@ msgstr "Особине" msgid "Property:" msgstr "Особина:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Ново име:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp #, fuzzy @@ -2460,6 +2491,29 @@ msgstr "Постави %s" msgid "Set Multiple:" msgstr "Постави Више:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Особине" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Особине" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Копирај Путању Скрипте" + #: editor/editor_log.cpp msgid "Output:" msgstr "Излаз:" @@ -3300,6 +3354,20 @@ msgstr "" "укључена." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Синхронизуј промене сцене" @@ -4534,6 +4602,11 @@ msgstr "Нађи плочицу" msgid "Find:" msgstr "Нађи" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Замени" + #: editor/find_in_files.cpp #, fuzzy msgid "Folder:" @@ -4562,6 +4635,11 @@ msgstr "Тражи..." msgid "Replace..." msgstr "Замени..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Замени све" + #: editor/find_in_files.cpp #, fuzzy msgid "Find: " @@ -4574,7 +4652,7 @@ msgstr "Замени" #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Замени све" #: editor/find_in_files.cpp @@ -4814,6 +4892,12 @@ msgstr "" "УПОЗОРЕЊЕ: Постоје средства која користе овај ресурс, могу престати да се " "учитавају правилно." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Грешка при учитавању ресурса." @@ -6446,6 +6530,11 @@ msgstr "Alt+вучење: померање" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+вучење: померање" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Обриши одабрани чвор или прелаз." @@ -6478,6 +6567,10 @@ msgid "Scale Mode" msgstr "Режим Увећања" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6588,20 +6681,44 @@ msgstr "Закључај одабрани објекат на месту (нем #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Закључај одабрано" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Откључај одабрани објекат (могуће померање)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Откључај одабрано" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Уверава се да деца објекта не могу бити изабрана." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Групиши Одабрано" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Врати могућност бирања деце објекта." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Разгрупиши Одабрано" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Синглетон" @@ -8413,6 +8530,11 @@ msgid "Find in Files..." msgstr "Филтрирај датотеке..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Замени..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Контекстуална помоћ" @@ -8989,6 +9111,19 @@ msgid "Toggle Freelook" msgstr "Укљ./Искљ. режим слободног гледања" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Учитај уобичајено" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Трансформација" @@ -9806,6 +9941,30 @@ msgstr "Увези тему" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Врста" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Особине" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Име фајла је празно." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Да ли сигурно желиш да отвориш више одједног пројекта?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Измени име анимације" @@ -9831,21 +9990,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Врста" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Додај ствар" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Врста Чвора" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Учитај уобичајено" @@ -9864,6 +10008,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Додај ствар" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Тема" @@ -12833,11 +12982,6 @@ msgstr "Преименуј Гомилу" #: editor/rename_dialog.cpp #, fuzzy -msgid "Replace:" -msgstr "Замени" - -#: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" msgstr "Предметак" @@ -13174,6 +13318,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy msgid "Save New Scene As..." msgstr "Упамти Нову Сцену Као..." @@ -14337,64 +14495,72 @@ msgstr "Испуни одабрано" msgid "End of inner exception stack trace" msgstr "Крај Унутрашњег израза потражне наслаге" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +#, fuzzy +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"НавигационаМрежа ресурс мора бити постављен или креиран да би овај чвор " +"радио." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp #, fuzzy msgid "Bake NavMesh" msgstr "Испеци НавМрежу" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Обриши навигациону мрежу." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Подешавање конфигурације..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Израчунавање величине мреже..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Прављење висинског поља..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Маркирање проходних троуглова..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Конструисање компактног висинског поља..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Ерозија проходне површине..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Партиционирање..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Прављење контура..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Прављење полигонске мреже..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Конвертовање у природну навигациону мрежу..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Поставке генератора навигационе мреже:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Анализирање геометрије..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Готово!" @@ -15506,6 +15672,16 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" "Многоугао затамљивач за овај затамљивач је празан. Молимо нацртај моногоугао." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp #, fuzzy msgid "" @@ -15795,14 +15971,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "ТачкаСветло са углом ширим од 90 степени не може бацати сенке." -#: scene/3d/navigation_mesh.cpp -#, fuzzy -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"НавигационаМрежа ресурс мора бити постављен или креиран да би овај чвор " -"радио." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp #, fuzzy msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " @@ -15811,6 +15984,12 @@ msgstr "" "НавМрежнаИнстанца мора бити дете или прадете Навигационог чвора. Само " "обезбећује навигационе податке." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -16291,10 +16470,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp #, fuzzy msgid "Assignment to function." msgstr "Додељивање функцији." diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 1a2f45aec3..9a5bbeb2ec 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -1,6 +1,6 @@ # Serbian (latin) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Milos Ponjavusic <brane@branegames.com>, 2018. # BLu <blmasfon@gmail.com>, 2018. @@ -334,6 +334,10 @@ msgid "Duplicate Key(s)" msgstr "Dupliraj Ključeve" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "Obriši Ključeve" @@ -505,6 +509,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animacija Skaliraj Ključeve" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1466,6 +1475,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1570,7 +1583,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1591,6 +1606,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2067,7 +2083,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2205,6 +2221,20 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Vrednost:" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2214,6 +2244,28 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Obriši Selekciju" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Animacija Uduplaj Ključeve" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2955,6 +3007,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4021,6 +4087,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4044,6 +4114,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4053,7 +4127,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4269,6 +4343,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5723,6 +5803,11 @@ msgstr "Izbriši označeni ključ(eve)" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Izbriši označeni ključ(eve)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Obriši Selekciju" @@ -5751,6 +5836,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5845,20 +5934,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Animacija Obriši Ključeve" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Dupliraj Selektovane Ključeve" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Obriši Selekciju" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Obriši Selekciju" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7485,6 +7598,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8004,6 +8121,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8743,39 +8872,47 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "Animacija Dodaj Kanal" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Cancel Item Rename" -msgstr "Animacija Preimenuj Kanal" +msgid "Available Node-based types:" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Animacija Dodaj Kanal" +msgid "Cancel Item Rename" +msgstr "Animacija Preimenuj Kanal" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8795,6 +8932,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11191,10 +11332,6 @@ msgid "Batch Rename" msgstr "Animacija Preimenuj Kanal" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11471,6 +11608,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12413,63 +12564,68 @@ msgstr "Sve sekcije" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13419,6 +13575,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13625,16 +13791,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14029,10 +14201,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index f5afd7df7e..b8c190d92a 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -1,6 +1,6 @@ # Swedish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # bergmarklund <davemcgroin@gmail.com>, 2017, 2018. # Christoffer Sundbom <christoffer_karlsson@live.se>, 2017, 2021. @@ -341,6 +341,10 @@ msgid "Duplicate Key(s)" msgstr "Duplicera Nycklar" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Ta bort Nycklar" @@ -510,6 +514,11 @@ msgstr "" "spår." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Anim Skala Nycklar" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1496,6 +1505,10 @@ msgid "Invalid name." msgstr "Ogiltigt namn." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Giltiga tecken:" @@ -1600,7 +1613,9 @@ msgstr "Uppdaterar scen..." msgid "[empty]" msgstr "[tom]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[inte sparad]" @@ -1621,6 +1636,7 @@ msgstr "Skapa Mapp" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Namn:" @@ -2130,7 +2146,8 @@ msgid "Properties" msgstr "Egenskaper" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "skriv över:" #: editor/editor_help.cpp @@ -2289,6 +2306,20 @@ msgstr "Egenskaper" msgid "Property:" msgstr "Egenskap:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "Värde" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2298,6 +2329,29 @@ msgstr "" msgid "Set Multiple:" msgstr "Sätt Flera:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Egenskaper" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Egenskaper" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopiera Sökvägen" + #: editor/editor_log.cpp msgid "Output:" msgstr "Output:" @@ -3112,6 +3166,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "Synkronisera scenändringar" @@ -4242,6 +4310,11 @@ msgstr "%d fler filer" msgid "Find:" msgstr "Hitta:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "Ersätt:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Mapp:" @@ -4267,6 +4340,11 @@ msgstr "Hitta..." msgid "Replace..." msgstr "Ersätt..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Ersätt Alla" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Hitta: " @@ -4277,7 +4355,7 @@ msgstr "Ersätt: " #: editor/find_in_files.cpp #, fuzzy -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "Ersätt Alla" #: editor/find_in_files.cpp @@ -4510,6 +4588,12 @@ msgstr "" "VARNING: Det finns tillgångar som använder den här resursen, de kan sluta " "laddas in korrekt." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Misslyckades att ladda resurs." @@ -6006,6 +6090,11 @@ msgstr "Ta bort vald Rect." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Ta bort vald Rect." + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Ta bort valt spår." @@ -6035,6 +6124,10 @@ msgid "Scale Mode" msgstr "Växla Läge" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6132,20 +6225,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Välj" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Ta bort Nod(er)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Ser till att objektets barn inte är valbara." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Ta bort Urval" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Återställer objektets barns egenskap att väljas." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Ta bort Urval" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "Singleton" @@ -7825,6 +7942,11 @@ msgid "Find in Files..." msgstr "Filtrera Filer..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Ersätt..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8368,6 +8490,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Ladda Standard" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Transformera" @@ -9143,6 +9278,30 @@ msgstr "Importera Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Typ" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Tillgängliga Profiler:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Filnamn är tom." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Är du säker att du vill ta bort alla kopplingar från denna signal?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Anim Byt Namn På Spår" @@ -9168,20 +9327,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Typ" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Nod typ" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Ladda Standard" @@ -9198,6 +9343,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -11654,11 +11803,6 @@ msgid "Batch Rename" msgstr "Byt namn" #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "Ersätt:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11940,6 +12084,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy msgid "Save New Scene As..." msgstr "Spara Ny Scen Som..." @@ -12918,63 +13076,68 @@ msgstr "Alla urval" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Partitionerar..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Skapar konturer..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Klar!" @@ -13952,6 +14115,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14176,16 +14349,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14588,10 +14767,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 5bd7dfcbf0..b7c8cf73e3 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -1,6 +1,6 @@ # Tamil translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Senthil Kumar K <logickumar@gmail.com>, 2017. @@ -336,6 +336,10 @@ msgid "Duplicate Key(s)" msgstr "அசைவூட்டு போலிபச்சாவிகள்" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -504,6 +508,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1461,6 +1469,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1565,7 +1577,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1586,6 +1600,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2060,7 +2075,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2196,6 +2211,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2205,6 +2233,28 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "அசைவூட்டு போலிபச்சாவிகள்" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2945,6 +2995,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4008,6 +4072,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4031,6 +4099,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4040,7 +4112,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4256,6 +4328,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5697,6 +5775,11 @@ msgid "Alt+Drag: Move selected node." msgstr "அனைத்து தேர்வுகள்" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5725,6 +5808,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5819,20 +5906,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "அசைவூட்டு போலிபச்சாவிகள்" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7439,6 +7550,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7951,6 +8066,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8677,39 +8804,47 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +#, fuzzy +msgid "Add Type" +msgstr "அசைவூட்டு பாதை சேர்" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Cancel Item Rename" -msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு" +msgid "Available Node-based types:" +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "அசைவூட்டு பாதை சேர்" +msgid "Cancel Item Rename" +msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8729,6 +8864,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -11092,10 +11231,6 @@ msgid "Batch Rename" msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11372,6 +11507,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12310,63 +12459,68 @@ msgstr "அனைத்து தேர்வுகள்" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13309,6 +13463,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13515,16 +13679,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13919,10 +14089,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/te.po b/editor/translations/te.po index 75ed723328..448aa534eb 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -1,21 +1,22 @@ # Telugu translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # suresh p <suresh9247@gmail.com>, 2019, 2020. +# Jagadeesh Vijay Varma <jagadeeshvarma.b@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2020-09-15 07:17+0000\n" -"Last-Translator: suresh p <suresh9247@gmail.com>\n" +"PO-Revision-Date: 2021-12-26 17:18+0000\n" +"Last-Translator: Jagadeesh Vijay Varma <jagadeeshvarma.b@gmail.com>\n" "Language-Team: Telugu <https://hosted.weblate.org/projects/godot-engine/" "godot/te/>\n" "Language: te\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -39,9 +40,8 @@ msgid "Invalid input %i (not passed) in expression" msgstr "వ్యక్తీకరణలో చెల్లని ఇన్పుట్ %i (ఆమోదించబడలేదు)" #: core/math/expression.cpp -#, fuzzy msgid "self can't be used because instance is null (not passed)" -msgstr "తనకు తానుగా(self) ఉపయోగించుకోలేదు ఎందుకంటే instance ఒక శూన్యం (ఆమోదించబడలేదు )" +msgstr "స్వయం ఉపయోగించబడదు ఎందుకంటే ఉదాహరణ శూన్యం (ఉత్తీర్ణత లేదు)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -320,6 +320,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -482,6 +486,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -899,7 +907,7 @@ msgstr "" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "" +msgstr "సంకేతాలు" #: editor/connections_dialog.cpp msgid "Filter signals" @@ -1434,6 +1442,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1538,7 +1550,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1559,6 +1573,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -1797,7 +1812,7 @@ msgstr "" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "దిగుమతి" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" @@ -2030,7 +2045,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2039,7 +2054,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "పద్ధతులు" #: editor/editor_help.cpp msgid "Theme Properties" @@ -2051,7 +2066,7 @@ msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" -msgstr "" +msgstr "స్థిరాంకాలు" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Fonts" @@ -2067,7 +2082,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "" +msgstr "గణనలు" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -2166,6 +2181,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2175,6 +2203,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2221,7 +2269,7 @@ msgstr "" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "నోడ్" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -2913,6 +2961,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3971,6 +4033,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3994,6 +4060,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4003,7 +4073,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4217,6 +4287,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5638,6 +5714,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5666,6 +5746,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5760,20 +5844,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -6064,7 +6168,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "" +msgstr "ఫ్లాట్ 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -7373,6 +7477,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7885,6 +7993,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8596,37 +8716,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8646,6 +8774,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10987,10 +11119,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11263,6 +11391,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12192,63 +12334,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13182,6 +13329,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13388,16 +13545,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13792,10 +13955,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index e1c5f6053d..acb8f8cbf3 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -1,6 +1,6 @@ # Thai translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Kaveeta Vivatchai <goodytong@gmail.com>, 2017. # Poommetee Ketson (Noshyaar) <poommetee@protonmail.com>, 2017-2018. @@ -335,6 +335,11 @@ msgid "Duplicate Key(s)" msgstr "สร้างคีย์ซ้ำอีกอัน" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "เพิ่ม %d เฟรม(วินาที)" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "ลบคีย์" @@ -502,6 +507,11 @@ msgid "" msgstr "ตัวเลือกนี้ไม่สามารถทำงานกับแทร็กเบซิเยร์ เนื่องจากเป็นแค่แทร็กเดี่ยว" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "ปรับคีย์แอนิเมชัน" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1485,6 +1495,10 @@ msgid "Invalid name." msgstr "ชื่อผิดพลาด" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "ตัวอักษรที่ใช้ได้:" @@ -1591,7 +1605,9 @@ msgstr "อัพเดทฉาก..." msgid "[empty]" msgstr "[ว่างเปล่า]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[ไฟล์ใหม่]" @@ -1612,6 +1628,7 @@ msgstr "สร้างโฟลเดอร์" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "ชื่อ:" @@ -2107,7 +2124,8 @@ msgid "Properties" msgstr "คุณสมบัติ" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "แทนที่:" #: editor/editor_help.cpp @@ -2247,6 +2265,20 @@ msgstr "คุณสมบัติธีม" msgid "Property:" msgstr "คุณสมบัติ:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(ค่า)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2256,6 +2288,29 @@ msgstr "ตั้ง %s" msgid "Set Multiple:" msgstr "กำหนด หลายอย่าง:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "คุณสมบัติ" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "คุณสมบัติ" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "คัดลอกตำแหน่งสคริปต์" + #: editor/editor_log.cpp msgid "Output:" msgstr "เอาท์พุต:" @@ -3042,6 +3097,20 @@ msgid "" msgstr "เมื่อตัวเลือกนี้เปิดใช้งาน ตัวนำทาง mesh และโพลีกอนจะถูกมองเห็นในโปรเจกต์ที่ทำงานอยู่" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "ซิงค์การเปลี่ยนแปลงฉาก" @@ -4171,6 +4240,10 @@ msgstr "ค้นหาในไฟล์" msgid "Find:" msgstr "ค้นหา:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "แทนที่:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "โฟลเดอร์:" @@ -4195,6 +4268,11 @@ msgstr "ค้นหา..." msgid "Replace..." msgstr "แทนที่..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "แทนที่ทั้งหมด" + #: editor/find_in_files.cpp msgid "Find: " msgstr "ค้นหา: " @@ -4204,8 +4282,9 @@ msgid "Replace: " msgstr "แทนที่: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "แทนที่ทั้งหมด(แก้ไขไม่ได้)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "แทนที่ทั้งหมด" #: editor/find_in_files.cpp msgid "Searching..." @@ -4418,6 +4497,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "คำเตือน: มีเนื้อหาที่ใช้ทรัพยากรนี้อยู่ ซึ่งอาจทำให้การโหลดเกิดการหยุดขึ้น" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "โหลดทรัพยากรไม่ได้" @@ -5869,6 +5954,11 @@ msgstr "Alt+ลาก: ย้าย" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+ลาก: ย้าย" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "ลบโหนดหรือทรานสิชันที่เลือก" @@ -5897,6 +5987,10 @@ msgid "Scale Mode" msgstr "โหมดปรับขนาด" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5993,20 +6087,44 @@ msgstr "ล็อคไม่ให้ออบเจกต์ที่เลื #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "ล็อกที่เลือก" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "ปลดล็อคออบเจกต์ที่เลือก" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "ปลดล็อคที่เลือก" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "โหนดลูกของออบเจกต์ไม่สามารถถูกเลือก" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "จัดกลุ่มที่เลือก" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "คืนค่าความสามารถในการถูกเลือกกับโหนดลูกของออบเจกต์" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "เลิกจัดกลุ่มที่เลือก" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "ตั้งค่าโครง" @@ -7652,6 +7770,11 @@ msgid "Find in Files..." msgstr "ค้นหาในไฟล์..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "แทนที่..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "ค้นหาคำที่เลือกในคู่มือ" @@ -8202,6 +8325,19 @@ msgid "Toggle Freelook" msgstr "เปิด/ปิดมุมมองอิสระ" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "รีเซ็ตเป็นค่าเริ่มต้น" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "การแปลง" @@ -8973,6 +9109,30 @@ msgstr "นำเข้าธีม" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "ชนิด" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "โปรไฟล์ที่มีให้ใช้:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "ชื่อไฟล์ว่างเปล่า" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "ยืนยันการเปิดโปรเจกต์มากกว่า 1 โปรเจกต์?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "เปลี่ยนชื่อแทร็กแอนิเมชัน" @@ -8998,21 +9158,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "ชนิด" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "เพิ่มไอเทม" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "ชนิดโหนด" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "โหลดค่าเริ่มต้น" @@ -9031,6 +9176,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "เพิ่มไอเทม" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "ธีม" @@ -11499,10 +11649,6 @@ msgid "Batch Rename" msgstr "เปลี่ยนชื่อหลายรายการ" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "แทนที่:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "คำนำหน้า:" @@ -11781,6 +11927,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "บันทึกฉากใหม่เป็น..." @@ -12737,63 +12897,68 @@ msgstr "เติมส่วนที่เลือก" msgid "End of inner exception stack trace" msgstr "สิ้นสุดสแตคข้อผิดพลาดภายใน" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "ต้องมี NavigationMesh เพื่อให้โหนดนี้ทำงานได้" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Bake NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "ล้าง Mesh นำทาง" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "กำลังจัดการโครงร่าง..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "กำลังคำนวณขนาดกริด..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "กำลังสร้างสนามความสูง..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "กำลังกำหนดพื้นผิวที่เดินผ่านได้..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "กำลังบีบอัดสนามความสูง..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "บีบแคบส่วนที่เดินผ่านได้..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "กำลังแบ่งส่วน..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "กำลังสร้างคอนทัวร์..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "กำลังสร้าง Polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "กำลังแปลงกลับเป็น Mesh นำทาง..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "การตั้งค่าการสร้างพื้นผิวนำทาง:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "วิเคราะห์พื้นผิว..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "เสร็จสิ้น!" @@ -13786,6 +13951,16 @@ msgstr "ต้องมีรูปหลายเหลี่ยมเพื่ msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "รูปหลายเหลี่ยมของตัวบังแสงนี้ว่างเปล่า กรุณาวาดโพลีกอน" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14015,11 +14190,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight ที่มีมุมมากกว่า 90 ไม่สามารถสร้างเงา" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "ต้องมี NavigationMesh เพื่อให้โหนดนี้ทำงานได้" +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14027,6 +14202,12 @@ msgstr "" "NavigationMeshInstance ต้องเป็นโหนดลูก/หลานของโหนด Navigation " "โดยจะให้ข้อมูลการนำทางเท่านั้น" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14456,10 +14637,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "การกำหนดให้กับฟังก์ชัน" diff --git a/editor/translations/tl.po b/editor/translations/tl.po index 4a73228fb1..3e48f9d911 100644 --- a/editor/translations/tl.po +++ b/editor/translations/tl.po @@ -1,14 +1,14 @@ # Tagalog translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # -# Napstaguy04 <brokenscreen3@gmail.com>, 2021. +# Napstaguy04 <brokenscreen3@gmail.com>, 2021, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2021-12-09 23:13+0000\n" +"PO-Revision-Date: 2022-01-07 11:42+0000\n" "Last-Translator: Napstaguy04 <brokenscreen3@gmail.com>\n" "Language-Team: Tagalog <https://hosted.weblate.org/projects/godot-engine/" "godot/tl/>\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 " "|| n % 10 == 6 || n % 10 == 9);\n" -"X-Generator: Weblate 4.10-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -38,7 +38,7 @@ msgstr "Kulang na bytes para sa decoding bytes, o di-wastong format." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Di-wastong input %i (di naipasa) sa expression" +msgstr "Di-wastong input %i (di naipasa) sa ekspresyon" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -324,6 +324,10 @@ msgid "Duplicate Key(s)" msgstr "Doblehin ang (mga) Key" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Tanggalin Ang (mga) Key" @@ -495,6 +499,11 @@ msgstr "" "ito." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Mga Key ng Anim Scale" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1471,6 +1480,10 @@ msgid "Invalid name." msgstr "Di-wastong pangalan." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Mga Pinapayagang Karakter:" @@ -1576,7 +1589,9 @@ msgstr "" msgid "[empty]" msgstr "[wala]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[di-nakasave]" @@ -1597,6 +1612,7 @@ msgstr "Gumawa ng Folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Pangalan:" @@ -2069,7 +2085,8 @@ msgid "Properties" msgstr "Mga Katangian" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "ipagpalit:" #: editor/editor_help.cpp @@ -2209,6 +2226,20 @@ msgstr "Katangian ng Tema" msgid "Property:" msgstr "Katangian:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(halaga)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2216,8 +2247,31 @@ msgstr "Itakda ang %s" #: editor/editor_inspector.cpp msgid "Set Multiple:" +msgstr "Magtakda ng Marami:" + +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" msgstr "" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Katangian" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Katangian" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Kopyahin ang Kinaroroonan" + #: editor/editor_log.cpp msgid "Output:" msgstr "Kalabasan:" @@ -2608,15 +2662,17 @@ msgstr "Buksan ang Talaan ng mga Proyekto?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "I-save at Umalis" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "I-save ang (mga sumusunod na) binagong eksena bago umalis?" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before opening Project Manager?" msgstr "" +"I-save ang (mga sumusunod na) binagong eksena bago buksan ang Tagapangasiwa " +"ng Proyekto?" #: editor/editor_node.cpp msgid "" @@ -2726,7 +2782,7 @@ msgstr "Karaniwan" #: editor/editor_node.cpp editor/editor_resource_picker.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp msgid "Show in FileSystem" -msgstr "" +msgstr "Ipakita sa FileSystem" #: editor/editor_node.cpp msgid "Play This Scene" @@ -2885,7 +2941,7 @@ msgstr "Magluwas..." #: editor/editor_node.cpp msgid "Install Android Build Template..." -msgstr "" +msgstr "Ikabit ang Android Build Template..." #: editor/editor_node.cpp msgid "Open Project Data Folder" @@ -2961,6 +3017,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -2990,7 +3060,7 @@ msgstr "Editor" #: editor/editor_node.cpp msgid "Editor Settings..." -msgstr "" +msgstr "Kaayusan ng Editor..." #: editor/editor_node.cpp msgid "Editor Layout" @@ -3003,6 +3073,7 @@ msgstr "Kumuha ng Screenshot" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." msgstr "" +"Nakaimpok lahat ng mga screenshot sa Folder ng Data/Kaayusan ng Editor." #: editor/editor_node.cpp msgid "Toggle Fullscreen" @@ -3030,7 +3101,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Manage Export Templates..." -msgstr "" +msgstr "Pangasiwaan ang mga Export Template..." #: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp msgid "Help" @@ -3066,7 +3137,7 @@ msgstr "Tungkol sa Godot" #: editor/editor_node.cpp msgid "Support Godot Development" -msgstr "Suportahan ang Development ng Godot" +msgstr "Suportahan ang Paglalago ng Godot" #: editor/editor_node.cpp msgid "Play the project." @@ -3127,11 +3198,11 @@ msgstr "" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "FileSystem" #: editor/editor_node.cpp msgid "Inspector" -msgstr "Taga-siyasat" +msgstr "Tagasuri" #: editor/editor_node.cpp msgid "Expand Bottom Panel" @@ -3943,7 +4014,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Sort by Last Modified" -msgstr "" +msgstr "Ayusin ayon sa Huling Binago" #: editor/filesystem_dock.cpp msgid "Sort by First Modified" @@ -4018,6 +4089,10 @@ msgstr "Hanapin sa mga file" msgid "Find:" msgstr "Hanapin:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4041,6 +4116,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Palitan Lahat" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4050,8 +4130,9 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Palitan Lahat" #: editor/find_in_files.cpp msgid "Searching..." @@ -4264,6 +4345,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5690,6 +5777,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Drag: Maglipat ng napiling node." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Drag: Maglipat ng napiling node." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Itakda ang posisyon ng pivot sa node." @@ -5718,6 +5810,10 @@ msgid "Scale Mode" msgstr "Paraan ng Pagpapalaki" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5814,20 +5910,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Doblehin ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Doblehin ang (mga) Napiling Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Ipangkat Ang Napili" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Ibuwag Ang Pangkat ng Napili" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Pagsasaayos ng Kalansay" @@ -6884,11 +7004,11 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "Linisin ang UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Settings" -msgstr "" +msgstr "Kaayusan ng Grid" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Snap" @@ -6940,7 +7060,7 @@ msgstr "" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Baguhin ang Pangalan ng Resource" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -6958,19 +7078,19 @@ msgstr "" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_editor.cpp msgid "Instance:" -msgstr "" +msgstr "Instance:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Type:" -msgstr "" +msgstr "Uri:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "Buksan sa Editor" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Load Resource" @@ -7030,15 +7150,15 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving file!" -msgstr "" +msgstr "Nabigong maimpok ang file!" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme." -msgstr "" +msgstr "Nabigong maimpok ang tema." #: editor/plugins/script_editor_plugin.cpp msgid "Error Saving" -msgstr "" +msgstr "Nabigo ang Pagiimpok" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme." @@ -7079,7 +7199,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Iangkat ang Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -7117,11 +7237,11 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Filter methods" -msgstr "" +msgstr "Salain ang mga method" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" -msgstr "" +msgstr "Pagkakaayos" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp @@ -7178,31 +7298,31 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Theme" -msgstr "" +msgstr "Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme..." -msgstr "" +msgstr "Magangkat ng Tema..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "" +msgstr "Sariwain ang Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "" +msgstr "Iimpok ang Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" -msgstr "" +msgstr "Isara lahat" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "" +msgstr "Isara ang Dokumentasyon" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "" +msgstr "Patakbuhin" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -7210,7 +7330,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Search" -msgstr "" +msgstr "Maghanap" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" @@ -7240,7 +7360,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Dokumentasyong Online" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation." @@ -7290,7 +7410,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Target" -msgstr "" +msgstr "Pinagtututukan" #: editor/plugins/script_text_editor.cpp msgid "" @@ -7324,7 +7444,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "Pumili ng Kulay" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Convert Case" @@ -7427,6 +7547,11 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Magsala ng mga File..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7531,19 +7656,19 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top Orthogonal" -msgstr "" +msgstr "Taas Ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top Perspective" -msgstr "" +msgstr "Perspektibong Taas" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom Orthogonal" -msgstr "" +msgstr "Babang Ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom Perspective" -msgstr "" +msgstr "Perspektibong Baba" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left Orthogonal" @@ -7580,12 +7705,12 @@ msgstr "" #. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [auto]" -msgstr "" +msgstr " [kusa]" #. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [portals active]" -msgstr "" +msgstr " [mga aktibong portal]" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." @@ -7939,6 +8064,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Ibalik sa Dati" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -7953,39 +8091,39 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 Tinginan" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2 Tinginan" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 Tinginan (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3 Tinginan" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 Tinginan (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4 na Tinginan" #: editor/plugins/spatial_editor_plugin.cpp msgid "Gizmos" -msgstr "" +msgstr "Mga Gizmo" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "Tingnan ang Pinagmulan" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "Tignan ang Grid" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Portal Culling" @@ -7998,7 +8136,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings..." -msgstr "" +msgstr "Kaayusan..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" @@ -8042,11 +8180,11 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "Ikot (deg.):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "Laki (rasyo):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" @@ -8098,7 +8236,7 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" -msgstr "" +msgstr "Walang laman ang Sprite!" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." @@ -8118,11 +8256,11 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Convert to Polygon2D" -msgstr "" +msgstr "Ipalit sa Polygon2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create collision polygon." -msgstr "" +msgstr "Di-wastong geometry, hindi makagawa ng collision polygon." #: editor/plugins/sprite_editor_plugin.cpp msgid "Create CollisionPolygon2D Sibling" @@ -8138,7 +8276,7 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" -msgstr "" +msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -8146,19 +8284,19 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Shrink (Pixels): " -msgstr "" +msgstr "Palitiin (Pa-pixel): " #: editor/plugins/sprite_editor_plugin.cpp msgid "Grow (Pixels): " -msgstr "" +msgstr "Palakihin (pa-Pixel): " #: editor/plugins/sprite_editor_plugin.cpp msgid "Update Preview" -msgstr "" +msgstr "Sariwain ang Preview" #: editor/plugins/sprite_editor_plugin.cpp msgid "Settings:" -msgstr "" +msgstr "Kaayusan:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "No Frames Selected" @@ -8190,7 +8328,7 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "Magdagdag ng Puwang" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" @@ -8198,7 +8336,7 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(puwang)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move Frame" @@ -8214,11 +8352,11 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" -msgstr "" +msgstr "Bilis:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" -msgstr "" +msgstr "Ipaulit-ulit" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animation Frames:" @@ -8282,23 +8420,23 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Paraan ng Paguurong:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Paguurong na Pa-pixel" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Paguurong na Pa-grid" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Kusang Paghahati" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "Usog:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" @@ -8322,7 +8460,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "No colors found." -msgstr "" +msgstr "Walang kulay na nahanap." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} constant(s)" @@ -8374,11 +8512,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Updating the editor" -msgstr "" +msgstr "Sinasariwa ang editor" #: editor/plugins/theme_editor_plugin.cpp msgid "Finalizing" -msgstr "" +msgstr "Tinatapos ang pagsasariwa" #: editor/plugins/theme_editor_plugin.cpp msgid "Filter:" @@ -8507,7 +8645,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" -msgstr "" +msgstr "Alisin Lahat ng Color Items" #: editor/plugins/theme_editor_plugin.cpp msgid "Rename Item" @@ -8545,7 +8683,7 @@ msgstr "Magdagdag ng Constant Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Font Item" -msgstr "" +msgstr "Magdagdag ng Font Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Icon Item" @@ -8593,7 +8731,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Types:" -msgstr "" +msgstr "Mga Uri:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Type:" @@ -8652,6 +8790,29 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Magdagdag ng Uri" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Magagamit na mga Profile:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Walang laman ang Sprite!" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Gusto mo bang alisin lahat ng pagkakabit sa hudyat na ito?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "" @@ -8674,18 +8835,6 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Magdagdag ng Uri" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Ipakita ang Karaniwan" @@ -8702,8 +8851,12 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Magdagdag ng Bagong Uri ng Item" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" -msgstr "" +msgstr "Tema:" #: editor/plugins/theme_editor_plugin.cpp msgid "Manage Items..." @@ -10574,7 +10727,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Last Modified" -msgstr "" +msgstr "Huling Binago" #: editor/project_manager.cpp msgid "Edit Project" @@ -11042,10 +11195,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11318,6 +11467,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -11413,7 +11576,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Editable Children" -msgstr "" +msgstr "Mababagong mga Anak" #: editor/scene_tree_dock.cpp msgid "Load As Placeholder" @@ -11539,7 +11702,7 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Open Script:" -msgstr "" +msgstr "Buksan ang Skrip:" #: editor/scene_tree_editor.cpp msgid "" @@ -11552,6 +11715,8 @@ msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" +"Hindi maaring piliin ang mga anak na ito.\n" +"Pindutin upang gawing pilian." #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" @@ -12021,15 +12186,15 @@ msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" -msgstr "" +msgstr "Sangunianan" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "Mga Sanggunianan: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp msgid "Step argument is zero!" @@ -12141,15 +12306,15 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "Ayusin ang X Axis" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Ayusin ang Y Axis" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Ayusin ang Z Axis" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" @@ -12181,7 +12346,7 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Paste Selects" -msgstr "" +msgstr "I-pasta Lahat ng Pinili" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clear Selection" @@ -12193,7 +12358,7 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "" +msgstr "Kaayusan ng GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" @@ -12247,65 +12412,70 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "Gumagawa ng polymesh..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "" +msgstr "Sinisiyasat ang Geometry..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Tapos na!" #: modules/visual_script/visual_script.cpp msgid "" @@ -12427,7 +12597,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "" +msgstr "Magdagdag ng Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" @@ -12483,7 +12653,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s)" -msgstr "" +msgstr "Magdagdag ng (mga) Node" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -12505,7 +12675,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" -msgstr "" +msgstr "Ibahin ang Punong-Uri" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" @@ -12549,7 +12719,7 @@ msgstr "Hindi makopya ang punsyon ng node." #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" -msgstr "" +msgstr "I-pasta ang mga node ng VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function with a function node." @@ -12569,15 +12739,15 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Create Function" -msgstr "" +msgstr "Gumawa ng Punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" -msgstr "" +msgstr "Alisin ang Punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "" +msgstr "Alisin ang Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" @@ -12609,7 +12779,7 @@ msgstr "Magdagdag ng mga Node..." #: modules/visual_script/visual_script_editor.cpp msgid "Add Function..." -msgstr "" +msgstr "Magdagdag ng punsyon..." #: modules/visual_script/visual_script_editor.cpp msgid "function_name" @@ -12673,7 +12843,7 @@ msgstr "" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "" +msgstr "Di-wastong index ng pangalan ng katangian na '%s' sa node %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -12711,7 +12881,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "Package name is missing." -msgstr "" +msgstr "Nawawala ang pangalan ng pakete." #: platform/android/export/export_plugin.cpp msgid "Package segments must be of non-zero length." @@ -12829,7 +12999,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "Invalid package name:" -msgstr "" +msgstr "Di-wastong pangalan para sa pakete:" #: platform/android/export/export_plugin.cpp msgid "" @@ -12892,7 +13062,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "nagbalik ng may pagkakabigong #%d ang 'apksigner'" #: platform/android/export/export_plugin.cpp msgid "Verifying %s..." @@ -12904,11 +13074,13 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "Exporting for Android" -msgstr "" +msgstr "Niluluwas para sa Android" #: platform/android/export/export_plugin.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" +"Di-wastong pangalan ng file! Kinikailangan ng Android App Bundle ang *.aab " +"extension." #: platform/android/export/export_plugin.cpp msgid "APK Expansion not compatible with Android App Bundle." @@ -13237,6 +13409,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13443,16 +13625,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13587,6 +13775,8 @@ msgstr "" #: scene/3d/room_manager.cpp msgid "Misnamed nodes detected, check output log for details. Aborting." msgstr "" +"May nasagap na mga nodes na mali ang pagpapangalan, tignan ang output log " +"para sa karagdagang mga detalye. Tinitigil." #: scene/3d/room_manager.cpp msgid "Portal link room not found, check output log for details." @@ -13656,7 +13846,7 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp msgid "Animation not found: '%s'" -msgstr "" +msgstr "Di-mahanap ang animation: '%s'" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" @@ -13668,7 +13858,7 @@ msgstr "" #: scene/animation/animation_tree.cpp msgid "Invalid animation: '%s'." -msgstr "" +msgstr "Di-tugmang animasyon: '%s'." #: scene/animation/animation_tree.cpp msgid "Nothing connected to input '%s' of node '%s'." @@ -13700,6 +13890,9 @@ msgid "" "LMB: Set color\n" "RMB: Remove preset" msgstr "" +"Kulay: #%s\n" +"LMB: Magtakda ng kulay\n" +"RMB: Magalis ng preset" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." @@ -13807,6 +14000,8 @@ msgid "" "The Viewport size must be greater than or equal to 2 pixels on both " "dimensions to render anything." msgstr "" +"Dapat mas malaki o magkatumbas ng 2 pixel ang Tinginan bago maka-render ng " +"alinman." #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" @@ -13847,10 +14042,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 71856baa70..221e209621 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -1,6 +1,6 @@ # Turkish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Aprın Çor Tigin <kabusturk38@gmail.com>, 2016-2017. # Aykut YILDIRIM <aykutyildirim@windowslive.com>, 2018. @@ -65,13 +65,14 @@ # Kadir Berk Yağar <ykadirberk2@gmail.com>, 2021. # Aysu Toprak <moonwater99@hotmail.com>, 2021. # Yusuf Yavuzyigit <yusufyavuzyigit25@gmail.com>, 2021. +# seckiyn <kyofl6@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-18 13:37+0000\n" -"Last-Translator: Yusuf Yavuzyigit <yusufyavuzyigit25@gmail.com>\n" +"PO-Revision-Date: 2022-01-03 03:55+0000\n" +"Last-Translator: seckiyn <kyofl6@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -79,7 +80,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -381,6 +382,11 @@ msgid "Duplicate Key(s)" msgstr "Yinelenen Anahtar(lar)" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "%d Çerçeve[ler]'i ekle" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Anahtar(lar)ı Sil" @@ -549,6 +555,11 @@ msgstr "" "Bu seçenek yalnızca tek izli olduğundan, Bezier düzenlemede işe yaramaz." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Animasyon Anahtarı Ölçekle" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1531,6 +1542,10 @@ msgid "Invalid name." msgstr "Geçersiz ad." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Geçerli karakterler:" @@ -1635,7 +1650,9 @@ msgstr "Sahne güncelleniyor..." msgid "[empty]" msgstr "(boş)" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[kaydedilmemiş]" @@ -1656,6 +1673,7 @@ msgstr "Klasör Oluştur" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "İsim:" @@ -2154,7 +2172,8 @@ msgid "Properties" msgstr "Özellikler" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "üzerine yaz:" #: editor/editor_help.cpp @@ -2295,6 +2314,20 @@ msgstr "Tema Özelliği" msgid "Property:" msgstr "Özellik:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(değer)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2304,6 +2337,29 @@ msgstr "Ayarla %s" msgid "Set Multiple:" msgstr "Çoklu Ayarla:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Özellikleri Kopyala" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Özellikleri Yapıştır" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Betik Yolunu Kopyala" + #: editor/editor_log.cpp msgid "Output:" msgstr "Çıktı:" @@ -3118,6 +3174,20 @@ msgstr "" "çalışan projede görünür olacaktır." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Sahne Değişikliklerini Senkronize Et" @@ -4241,6 +4311,10 @@ msgstr "Dosyalarda bul" msgid "Find:" msgstr "Bul:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Değiştir:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Dosya:" @@ -4266,6 +4340,11 @@ msgstr "Bul..." msgid "Replace..." msgstr "Değiştir..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Tümünü Değiştir" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Bul: " @@ -4275,8 +4354,9 @@ msgid "Replace: " msgstr "Değiştir: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Tümünü Değiştir (geri alma yok)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Tümünü Değiştir" #: editor/find_in_files.cpp msgid "Searching..." @@ -4499,6 +4579,12 @@ msgstr "" "UYARI: Bu kaynağı kullanan varlıklar mevcut, düzgün yüklenmeyi " "durdurabilirler." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Kaynak yükleme başarısız oldu." @@ -5958,6 +6044,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Sürükle: Seçili düğümü taşıyın." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Sürükle: Seçili düğümü taşıyın." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: Seçili düğümün pivot konumunu ayarlayın." @@ -5988,6 +6079,10 @@ msgid "Scale Mode" msgstr "Esnetme Şekli" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6084,20 +6179,44 @@ msgstr "Seçilen nesneyi yerine kilitleyin (taşınamaz)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Seçimi Kilitle" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Seçilen nesnenin kilidini açın (taşınabilir)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Seçim Kilidini Aç" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Nesnenin çocuğunun seçilemez olduğundan kuşkusuz olur." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Seçilenleri Grupla" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Nesnenin çocuğunun seçilebilme yeteneğini geri kazandırır." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Seçilen Grubu Dağıt" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "İskelet Ayarları" @@ -7734,6 +7853,11 @@ msgid "Find in Files..." msgstr "Dosyalarda Bul..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Değiştir..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Bağlamsal Yardım" @@ -8257,6 +8381,19 @@ msgid "Toggle Freelook" msgstr "Serbest Bakış Aç / Kapat" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Varsayılanlara dön" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Dönüşüm" @@ -8979,6 +9116,29 @@ msgid "Another Theme" msgstr "Başka Bir Tema" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Tür Ekle" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Kullanılabilir Profiller:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Dosya ismi boş." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Birden fazla proje açmakta kararlı mısınız?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Öğeyi Yeniden Adlandırmayı Onayla" @@ -9003,18 +9163,6 @@ msgstr "" "tipteki diğer tüm StyleBox'larda aynı özellikleri güncelleyecektir." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Tür Ekle" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Öğe Türü Ekle" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Düğüm Türleri:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Varsayılanı Göster" @@ -9031,6 +9179,10 @@ msgid "Override all default type items." msgstr "Tüm varsayılan tür öğelerini geçersiz kıl." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Öğe Türü Ekle" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Tema:" @@ -11529,10 +11681,6 @@ msgid "Batch Rename" msgstr "Tümden Yeniden Adlandır" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Değiştir:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Ön Ek:" @@ -11826,6 +11974,20 @@ msgstr "" "devralınan bir sahne oluşturabilirsiniz." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Yeni Sahneyi Farklı Kaydet ..." @@ -12783,63 +12945,70 @@ msgstr "Solüsyonu İnşa Et" msgid "End of inner exception stack trace" msgstr "İç özel durum yığını izlemesinin sonu" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Bu düğümün çalışması için bir NavigationMesh kaynağı ayarlanmış veya " +"oluşturulmuş olmalıdır." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "NavMesh'i Sabitle" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Yönlendirici örüntüsünü temizle." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Konfigürasyon Ayarlanıyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Izgara boyutu hesaplanıyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Yükseklik-alanı Oluşturuluyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Yürünebilir üçgenler işaretleniyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Aralıksız yükseklialanı inşa ediliyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Yürünebilir alan aşındırılıyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Bölümleniyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Konturlar oluşturuluyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Çoklu-örüntü oluşturuluyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Yerli yönlendirici örüntüsüne dönüştürülüyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Navigasyon Örüntüsü Üreteci Kurulumu:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Geometri Ayrıştırılıyor..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Oldu!" @@ -13415,11 +13584,8 @@ msgstr "" "olduğunda geçerlidir." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." -msgstr "" -"\"El Takibi(Hand Tracking)\" sadece \"Xr Modu\" \"Oculus Mobile VR\" " -"olduğunda geçerlidir." +msgstr "\"İçinden Geçme\" sadece \"Xr Mod\" \"OpenXR\" ise geçerlidir." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13428,25 +13594,24 @@ msgstr "" "geçerlidir." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." msgstr "" -"\"AAB Dışa Aktar\" yalnızca \"Özel Yapı Kullan\" etkinleştirildiğinde " +"\"Min Sdk\" değiştirilmesi sadece \"Özel Yapı\" etkinleştirildiğinde " "geçerlidir." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " "enabled." msgstr "" -"\"AAB Dışa Aktar\" yalnızca \"Özel Yapı Kullan\" etkinleştirildiğinde " +"\"Target Sdk\" değiştirilmesi sadece \"Özel Yapı\" etkinleştirildiğinde " "geçerlidir." #: platform/android/export/export_plugin.cpp msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." msgstr "" +"\"Target Sdk\" sürümü \"Min Sdk\" sürümünden daha büyük veya eşit olmalıdır." #: platform/android/export/export_plugin.cpp msgid "" @@ -13864,6 +14029,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "Bu engelleyici için engelleyici çokgeni boş. Lütfen bir çokgen çizin." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14125,13 +14300,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "90 dereceden geniş açılı SpotIşık gölge oluşturamaz." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Bu düğümün çalışması için bir NavigationMesh kaynağı ayarlanmış veya " -"oluşturulmuş olmalıdır." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14139,6 +14312,12 @@ msgstr "" "NavigationMeshInstance, bir Navigation düğümünün çocuğu ya da torunu " "olmalıdır. O yalnızca yönlendirme verisi sağlar." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Hiçbir şekil ayarlanmadı." @@ -14616,10 +14795,6 @@ msgstr "" "'Parça' işlevinde atanan varyasyonlar, 'köşe' veya 'ışık'ta yeniden atanamaz." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "Özel işlevde parça aşaması değişikliğine erişilemedi!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "İşleve atama." diff --git a/editor/translations/tt.po b/editor/translations/tt.po index 22226ebf60..5032eb753a 100644 --- a/editor/translations/tt.po +++ b/editor/translations/tt.po @@ -1,6 +1,6 @@ # Tatar translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Bualma Show <appleaidar6@gmail.com>, 2021. @@ -320,6 +320,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -482,6 +486,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1434,6 +1442,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1538,7 +1550,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1559,6 +1573,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2030,7 +2045,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2166,6 +2181,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2175,6 +2203,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2913,6 +2961,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3970,6 +4032,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3993,6 +4059,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4002,7 +4072,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4216,6 +4286,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5637,6 +5713,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5665,6 +5745,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5759,20 +5843,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7372,6 +7476,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7884,6 +7992,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8595,37 +8715,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8645,6 +8773,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10985,10 +11117,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11261,6 +11389,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12190,63 +12332,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13180,6 +13327,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13386,16 +13543,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13790,10 +13953,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po index 30dd0ab7d0..77ca1dae62 100644 --- a/editor/translations/tzm.po +++ b/editor/translations/tzm.po @@ -1,6 +1,6 @@ # Central Atlas Tamazight translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Hakim Oubouali <hakim.oubouali.skr@gmail.com>, 2020. @@ -318,6 +318,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "" @@ -480,6 +484,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1432,6 +1440,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1536,7 +1548,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1557,6 +1571,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2028,7 +2043,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2164,6 +2179,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2173,6 +2201,26 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2911,6 +2959,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -3968,6 +4030,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -3991,6 +4057,10 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4000,7 +4070,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4214,6 +4284,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5635,6 +5711,10 @@ msgid "Alt+Drag: Move selected node." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "" @@ -5663,6 +5743,10 @@ msgid "Scale Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5757,20 +5841,40 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "" @@ -7370,6 +7474,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -7882,6 +7990,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8593,37 +8713,45 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +msgid "Available Node-based types:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8643,6 +8771,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "" @@ -10983,10 +11115,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11259,6 +11387,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12188,63 +12330,68 @@ msgstr "" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13178,6 +13325,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13384,16 +13541,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -13788,10 +13951,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index fb2623f957..9ded993590 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -1,6 +1,6 @@ # Ukrainian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Aleksandr <XpycT.TOP@gmail.com>, 2017. # Yuri Chornoivan <yurchor@ukr.net>, 2018, 2019, 2020, 2021. @@ -338,6 +338,11 @@ msgid "Duplicate Key(s)" msgstr "Дублювати ключі" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Додати %d кадри" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Вилучити ключі" @@ -508,6 +513,11 @@ msgstr "" "одинарна доріжка." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Масштабування ключів анімації" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1492,6 +1502,10 @@ msgid "Invalid name." msgstr "Некоректна назва." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Припустимі символи:" @@ -1596,7 +1610,9 @@ msgstr "Оновлення сцени..." msgid "[empty]" msgstr "[порожньо]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[не збережено]" @@ -1617,6 +1633,7 @@ msgstr "Створити Теку" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Ім'я:" @@ -2120,7 +2137,8 @@ msgid "Properties" msgstr "Властивості" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "перевизначення:" #: editor/editor_help.cpp @@ -2260,6 +2278,20 @@ msgstr "Властивість теми" msgid "Property:" msgstr "Властивість:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(значення)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2269,6 +2301,29 @@ msgstr "Встановити %s" msgid "Set Multiple:" msgstr "Встановити кратність:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Копіювати властивості" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Вставити властивості" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Копіювати шлях до скрипту" + #: editor/editor_log.cpp msgid "Output:" msgstr "Вивід:" @@ -3086,6 +3141,20 @@ msgstr "" "сітки та полігони." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Синхронізувати зміни сцени" @@ -4210,6 +4279,10 @@ msgstr "Знайти у файлах" msgid "Find:" msgstr "Знайти:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Заміна:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Тека:" @@ -4235,6 +4308,11 @@ msgstr "Знайти..." msgid "Replace..." msgstr "Замінити..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Замінити всі" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Знайти: " @@ -4244,8 +4322,9 @@ msgid "Replace: " msgstr "Замінити: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Замінити все (без скасовування)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Замінити всі" #: editor/find_in_files.cpp msgid "Searching..." @@ -4465,6 +4544,12 @@ msgstr "" "УВАГА: існують об'єкти, що використовують цей ресурс та можуть припинити " "завантажуватися належним чином." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Не вдалося завантажити ресурс." @@ -5933,6 +6018,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+Перетягнути: перемістити позначений вузол." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Перетягнути: перемістити позначений вузол." + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V: встановити позицію опорної точки позначеного вузла." @@ -5963,6 +6053,10 @@ msgid "Scale Mode" msgstr "Режим масштабування" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6059,20 +6153,44 @@ msgstr "Блокування обраного об'єкта на місці (н #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Заблокувати позначене" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Розблокувати вибраний об'єкт (можна перемістити)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Розблокувати позначене" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Гарантує нащадки об'єкта не можуть бути обрані." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Згрупувати позначені" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Відновлює можливість вибору нащадків об'єкта." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Розгрупувати позначені" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Параметри каркаса" @@ -7717,6 +7835,11 @@ msgid "Find in Files..." msgstr "Знайти у файлах…" #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Замінити..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "Контекстна довідка" @@ -8241,6 +8364,19 @@ msgid "Toggle Freelook" msgstr "Перемикання огляду" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Повернутися до типового" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Перетворення" @@ -8964,6 +9100,29 @@ msgid "Another Theme" msgstr "Інша тема" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "Додати тип" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Доступні профілі:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Порожня назва файла." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Ви справді хочете відкрити декілька проєктів одразу?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "Підтвердити перейменування запису" @@ -8989,18 +9148,6 @@ msgstr "" "цього типу." #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "Додати тип" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "Додати тип запису" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "Типи вузлів:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "Показати типовий" @@ -9018,6 +9165,10 @@ msgid "Override all default type items." msgstr "Перевизначити усі записи стандартних типів." #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "Додати тип запису" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "Тема:" @@ -11528,10 +11679,6 @@ msgid "Batch Rename" msgstr "Пакетне перейменування" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Заміна:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Префікс:" @@ -11826,6 +11973,20 @@ msgstr "" "сцену...»." #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Зберегти нову сцену як..." @@ -12789,63 +12950,70 @@ msgstr "Зібрати рішення" msgid "End of inner exception stack trace" msgstr "Кінець трасування стека для внутрішнього виключення" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" +"Для роботи цього вузла слід встановити або створити ресурс «Навігаційна " +"сітка»." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "Запекти NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Очистити навігаційну сітку." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Налаштування конфігурації..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Розрахунок розміру сітки..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "Створення карти висот..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Позначення прохідних трикутників..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "Створення компактної карти висот..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Розмиття прохідної ділянки..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Розбиття..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Створення контурів..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "Створення сітки..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "Перетворення на власну навігаційну сітку..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Налаштування генератора навігаційної сітки:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "Аналіз геометрії..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Зроблено!" @@ -13891,6 +14059,16 @@ msgstr "" "Для цього затуляння багатокутник є порожнім. Будь ласка, намалюйте " "багатокутник." +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14152,13 +14330,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "SpotLight з кутом, який є більшим за 90 градусів, не може давати тіні." -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -"Для роботи цього вузла слід встановити або створити ресурс «Навігаційна " -"сітка»." -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14166,6 +14342,12 @@ msgstr "" "NavigationMeshInstance має бути дочірнім елементом вузла Navigation або " "елементом ще нижчої підпорядкованості. Він надає лише навігаційні дані." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "Форму не встановлено." @@ -14655,12 +14837,6 @@ msgstr "" "надавати значення у «vertex» або «light»." #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" -"Доступ до змінного значення на кроці фрагментації у нетиповій функції " -"неможливий!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "Призначення функційного." diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 5154813e2c..c84931094f 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -1,6 +1,6 @@ # Urdu (Pakistan) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Muhammad Ali <ali@codeonion.com>, 2016. @@ -325,6 +325,10 @@ msgid "Duplicate Key(s)" msgstr "" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" @@ -489,6 +493,10 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1459,6 +1467,10 @@ msgid "Invalid name." msgstr "" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "" @@ -1563,7 +1575,9 @@ msgstr "" msgid "[empty]" msgstr "" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "" @@ -1584,6 +1598,7 @@ msgstr "" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "" @@ -2073,7 +2088,7 @@ msgid "Properties" msgstr "" #: editor/editor_help.cpp -msgid "override:" +msgid "overrides %s:" msgstr "" #: editor/editor_help.cpp @@ -2214,6 +2229,19 @@ msgstr ".تمام کا انتخاب" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2223,6 +2251,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr ".تمام کا انتخاب" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr ".تمام کا انتخاب" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr ".تمام کا انتخاب" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -2970,6 +3021,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "" @@ -4054,6 +4119,10 @@ msgstr "" msgid "Find:" msgstr "" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "" @@ -4077,6 +4146,11 @@ msgstr "" msgid "Replace..." msgstr "" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "سب سکریپشن بنائیں" + #: editor/find_in_files.cpp msgid "Find: " msgstr "" @@ -4086,7 +4160,7 @@ msgid "Replace: " msgstr "" #: editor/find_in_files.cpp -msgid "Replace all (no undo)" +msgid "Replace All (NO UNDO)" msgstr "" #: editor/find_in_files.cpp @@ -4306,6 +4380,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "" @@ -5776,6 +5856,11 @@ msgstr ".تمام کا انتخاب" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr ".تمام کا انتخاب" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr ".تمام کا انتخاب" @@ -5806,6 +5891,10 @@ msgid "Scale Mode" msgstr "ایکشن منتقل کریں" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5901,20 +5990,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr ".تمام کا انتخاب" @@ -7557,6 +7670,10 @@ msgid "Find in Files..." msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8081,6 +8198,18 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -8833,37 +8962,46 @@ msgid "Another Theme" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Confirm Item Rename" +msgid "Add Type" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Cancel Item Rename" +msgid "Filter the list of types or create a new custom type:" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Override Item" +#, fuzzy +msgid "Available Node-based types:" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Unpin this StyleBox as a main style." +msgid "Are you sure you want to create an empty type?" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "" -"Pin this StyleBox as a main style. Editing its properties will update the " -"same properties in all other StyleBoxes of this type." +msgid "Confirm Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" +msgid "Cancel Item Rename" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" +msgid "Override Item" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." msgstr "" #: editor/plugins/theme_editor_plugin.cpp @@ -8883,6 +9021,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "سب سکریپشن بنائیں" @@ -11303,10 +11445,6 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -11581,6 +11719,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -12547,63 +12699,68 @@ msgstr ".تمام کا انتخاب" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -13567,6 +13724,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13773,16 +13940,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14177,10 +14350,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 84c6ae0829..1a7c450e3d 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -1,6 +1,6 @@ # Vietnamese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 01lifeleft <01lifeleft@gmail.com>, 2018. # Dlean Jeans <dleanjeans@gmail.com>, 2018. @@ -337,6 +337,11 @@ msgid "Duplicate Key(s)" msgstr "Nhân bản các khoá hoạt ảnh" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "Thêm %d Khung hình" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "Xoá khoá hoạt ảnh" @@ -505,6 +510,11 @@ msgid "" msgstr "Tùy chọn này không áp lên Bezier được, vì nó chỉ là một track." #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "Key để scale hoạt ảnh" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1489,6 +1499,10 @@ msgid "Invalid name." msgstr "Tên không hợp lệ." #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "Ký tự hợp lệ:" @@ -1594,7 +1608,9 @@ msgstr "Đang cập nhật cảnh ..." msgid "[empty]" msgstr "[rỗng]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[chưa lưu]" @@ -1615,6 +1631,7 @@ msgstr "Tạo thư mục" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "Tên:" @@ -2104,7 +2121,8 @@ msgid "Properties" msgstr "Thuộc tính" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "Ghi đè:" #: editor/editor_help.cpp @@ -2248,6 +2266,20 @@ msgstr "Cài đặt Tông màu" msgid "Property:" msgstr "Thuộc tính:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(giá trị)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2257,6 +2289,29 @@ msgstr "Gán %s" msgid "Set Multiple:" msgstr "Gán nhiều:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "Thuộc tính" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "Thuộc tính" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "Sao chép đường dẫn tệp lệnh" + #: editor/editor_log.cpp msgid "Output:" msgstr "Đầu ra:" @@ -3052,6 +3107,20 @@ msgstr "" "đang chạy." #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "Đồng bộ hóa các thay đổi lên Cảnh" @@ -4179,6 +4248,10 @@ msgstr "Tìm trong các Tệp tin" msgid "Find:" msgstr "Tìm:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "Thay thế:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "Thư mục:" @@ -4204,6 +4277,11 @@ msgstr "Tìm..." msgid "Replace..." msgstr "Thay thế ..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "Thay thế tất cả" + #: editor/find_in_files.cpp msgid "Find: " msgstr "Tìm: " @@ -4213,8 +4291,9 @@ msgid "Replace: " msgstr "Thay thế: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "Thay thế tất cả (không hoàn tác)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "Thay thế tất cả" #: editor/find_in_files.cpp msgid "Searching..." @@ -4430,6 +4509,12 @@ msgstr "" "CẢNH BÁO: Có tài nguyên khác sử dụng tài nguyên này, chúng có thể gặp trục " "trặc khi nạp đấy." +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Nạp tài nguyên thất bại." @@ -5881,6 +5966,11 @@ msgstr "Alt+Kéo: Di chuyển" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+Kéo: Di chuyển" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "Xoá nút và chuyển tiếp đã chọn." @@ -5912,6 +6002,10 @@ msgid "Scale Mode" msgstr "Chế độ căn Tỉ lệ" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6008,20 +6102,44 @@ msgstr "Khóa vị trí vật (không cho dịch chuyển)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "Khoá lựa chọn" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "Thôi khóa vị trí vật (cho phép di chuyển)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "Mở khoá Lựa chọn" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "Hãy chắc rằng nút con của vật ở trạng thái Không thể chọn." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "Nhóm Lựa chọn" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "Khôi phục khả năng được chọn nút con của vật." #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "Bỏ nhóm đã chọn" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "Cài đặt Khung xương" @@ -7675,6 +7793,11 @@ msgid "Find in Files..." msgstr "Tìm trong Tệp..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "Thay thế ..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8220,6 +8343,19 @@ msgid "Toggle Freelook" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "Đặt lại thành mặc định" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "Biến đổi" @@ -8992,6 +9128,30 @@ msgstr "Nhập Tông màu" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "Kiểu" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "Hồ sơ khả dụng:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "Tên tệp trống." + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "Bạn chắc chắn mở nhiều hơn một dự án?" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "Đổi tên Anim Track" @@ -9017,21 +9177,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "Kiểu" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Add Item Type" -msgstr "Thêm mục" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Loại nút" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "Nạp mặc định" @@ -9050,6 +9195,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Item Type" +msgstr "Thêm mục" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Theme:" msgstr "Tông màu" @@ -11516,10 +11666,6 @@ msgid "Batch Rename" msgstr "Đổi tên" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "Thay thế:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "Tiền tố:" @@ -11805,6 +11951,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "Lưu Cảnh Mới Thành..." @@ -12796,63 +12956,68 @@ msgstr "Chọn tất cả" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "Phải tạo hoặc đặt một NavigationMesh cho nút này thì nó mới hoạt động." + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "Xóa lưới điều hướng." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "Thiết lập cấu hình ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "Tính kích thước lưới ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "Đánh dấu tam giác có thể đi được..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "Làm xói mòn vùng đi được..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "Phân vùng ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "Tạo đường viền ..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "Thiết lập trình tạo lưới điều hướng:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "Xong!" @@ -13869,6 +14034,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14108,11 +14283,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "Phải tạo hoặc đặt một NavigationMesh cho nút này thì nó mới hoạt động." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -14120,6 +14295,12 @@ msgstr "" "NavigationMeshInstance phải là nút con hoặc cháu một nút Navigation. Nó chỉ " "cung cấp dữ liệu điều hướng." +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14528,10 +14709,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 30e61af318..06fe826028 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -1,6 +1,6 @@ # Chinese (Simplified) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 360119124 <360119124@qq.com>, 2018. # 柠檬杀手 <lemonkiller@gmail.com>, 2018, 2020. @@ -88,8 +88,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2021-12-20 18:53+0000\n" -"Last-Translator: jker <cxgmfy@163.com>\n" +"PO-Revision-Date: 2021-12-31 08:52+0000\n" +"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -97,7 +97,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.10\n" +"X-Generator: Weblate 4.10.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -399,6 +399,11 @@ msgid "Duplicate Key(s)" msgstr "复制关键帧" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "添加 %d 帧" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "删除关键帧" @@ -565,6 +570,11 @@ msgid "" msgstr "由于只有单一轨道,因此该选项不适用于贝塞尔编辑。" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "缩放动画关键帧" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1534,6 +1544,10 @@ msgid "Invalid name." msgstr "名称无效。" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "有效字符:" @@ -1638,7 +1652,9 @@ msgstr "更新场景..." msgid "[empty]" msgstr "[空]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[未保存]" @@ -1659,6 +1675,7 @@ msgstr "创建文件夹" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "名称:" @@ -2138,7 +2155,8 @@ msgid "Properties" msgstr "属性" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "覆盖:" #: editor/editor_help.cpp @@ -2278,6 +2296,20 @@ msgstr "主题属性" msgid "Property:" msgstr "属性:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(值)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2287,6 +2319,29 @@ msgstr "设置 %s" msgid "Set Multiple:" msgstr "批量设置:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "复制属性" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "粘贴属性" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "复制脚本路径" + #: editor/editor_log.cpp msgid "Output:" msgstr "输出:" @@ -2402,7 +2457,7 @@ msgstr "请求文件的类型未知:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "保存出错。" +msgstr "保存时出错。" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." @@ -2472,7 +2527,7 @@ msgstr "无法加载要合并的网格库!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "保存网格库出错!" +msgstr "保存网格库时出错!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -3064,6 +3119,20 @@ msgid "" msgstr "启用该选项时,导航网格和多边形将在项目运行时可见。" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "同步场景修改" @@ -4157,6 +4226,10 @@ msgstr "在文件中查找" msgid "Find:" msgstr "查找:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "替换:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "文件夹:" @@ -4180,6 +4253,11 @@ msgstr "查找..." msgid "Replace..." msgstr "替换..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "全部替换" + #: editor/find_in_files.cpp msgid "Find: " msgstr "查找: " @@ -4189,8 +4267,9 @@ msgid "Replace: " msgstr "替换: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "全部替换(无法撤销)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "全部替换" #: editor/find_in_files.cpp msgid "Searching..." @@ -4406,6 +4485,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "警告:存在使用本资源的素材,将会停止加载。" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "加载资源失败。" @@ -5844,6 +5929,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+拖动:移动所选节点。" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+拖动:移动所选节点。" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V:设置所选节点的中心点位置。" @@ -5872,6 +5962,10 @@ msgid "Scale Mode" msgstr "缩放模式" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5968,20 +6062,44 @@ msgstr "将所选对象锁定到该位置(无法移动)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "锁定所选项" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "解锁所选对象(可以移动)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "解锁所选项" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "确保对象的子项不可选择。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "编组所选项" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "恢复选择对象的子级的功能。" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "解组所选项" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "骨架选项" @@ -6845,7 +6963,7 @@ msgstr "删除顶点" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "关闭曲线" +msgstr "闭合曲线" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -7604,6 +7722,11 @@ msgid "Find in Files..." msgstr "在文件中查找..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "替换..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "上下文帮助" @@ -8125,6 +8248,19 @@ msgid "Toggle Freelook" msgstr "切换自由观看" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "重置为默认值" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "变换" @@ -8842,6 +8978,29 @@ msgid "Another Theme" msgstr "其他主题" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "添加类型" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "可用配置文件:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "文件名为空。" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "您确定要打开多个项目吗?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "确认项目重命名" @@ -8865,18 +9024,6 @@ msgstr "" "将此样式盒置顶为主样式。编辑其属性会更新该类型下其他所有样式盒的相同属性。" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "添加类型" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "添加项目类型" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "节点类型:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "显示默认" @@ -8893,6 +9040,10 @@ msgid "Override all default type items." msgstr "覆盖所有默认类型项目。" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "添加项目类型" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "主题:" @@ -10459,15 +10610,15 @@ 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:" -msgstr "导出的资源:" +msgstr "导出的资源:" #: editor/project_export.cpp msgid "" @@ -11328,10 +11479,6 @@ msgid "Batch Rename" msgstr "批量重命名" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "替换:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "前缀:" @@ -11614,6 +11761,20 @@ msgstr "" "场景。" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "将新场景另存为..." @@ -12561,63 +12722,68 @@ msgstr "构建解决方案" msgid "End of inner exception stack trace" msgstr "内部异常堆栈追朔结束" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "此节点需要设置 NavigationMesh 资源才能正常工作。" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "烘焙导航网格" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "清除导航网格。" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "正在设置配置..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "正在计算网格大小..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "正在创建高度图..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "标记可移动三角形..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "构建紧凑高度图..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "正在计算可行区域..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "分区中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "正在创建轮廓..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "创建多边形网格..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "转换为导航网格..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "导航网格生成器设置:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "解析多边形中..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "完成!" @@ -13588,6 +13754,16 @@ msgstr "此遮光体必须设置遮光形状才能起到遮光作用。" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "此遮光体的遮光多边形为空。请绘制一个多边形。" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13821,11 +13997,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "角度宽于 90 度的 SpotLight 无法投射出阴影。" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "此节点需要设置 NavigationMesh 资源才能正常工作。" +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -13833,6 +14009,12 @@ msgstr "" "NavigationMeshInstance 类型节点必须作为 Navigation 节点的子节点或子孙节点才能" "提供导航数据。" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "未设置形状。" @@ -14281,10 +14463,6 @@ msgid "" msgstr "已在“fragment”函数中赋值的 varying 不能在“vertex”或“light”中重新赋值。" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "不能在自定义函数中访问片段 varying!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "对函数的赋值。" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 4d0e898171..e9cd6f0e5f 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -1,6 +1,6 @@ # Chinese (Hong Kong) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 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, 2020. # cnieFIT <dtotncq@gmail.com>, 2019. @@ -339,6 +339,10 @@ msgid "Duplicate Key(s)" msgstr "複製動畫幀" #: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp #, fuzzy msgid "Delete Key(s)" msgstr "移除動畫幀" @@ -522,6 +526,11 @@ msgid "" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "移動動畫幀" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1532,6 +1541,10 @@ msgid "Invalid name." msgstr "無效名稱。" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp #, fuzzy msgid "Valid characters:" msgstr "有效字符:" @@ -1646,7 +1659,9 @@ msgstr "正在更新場景..." msgid "[empty]" msgstr "[空]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[未儲存]" @@ -1667,6 +1682,7 @@ msgstr "新增資料夾" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "名稱:" @@ -2176,8 +2192,9 @@ msgid "Properties" msgstr "內客" #: editor/editor_help.cpp -msgid "override:" -msgstr "" +#, fuzzy +msgid "overrides %s:" +msgstr "覆蓋" #: editor/editor_help.cpp #, fuzzy @@ -2324,6 +2341,19 @@ msgstr "" msgid "Property:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2333,6 +2363,29 @@ msgstr "" msgid "Set Multiple:" msgstr "" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "內客" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "內客" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "複製路徑" + #: editor/editor_log.cpp msgid "Output:" msgstr "" @@ -3123,6 +3176,20 @@ msgid "" msgstr "" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp #, fuzzy msgid "Synchronize Scene Changes" msgstr "同步場景的變動" @@ -4282,6 +4349,11 @@ msgstr "在檔案中本尋找" msgid "Find:" msgstr "尋找:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +#, fuzzy +msgid "Replace:" +msgstr "取代: " + #: editor/find_in_files.cpp msgid "Folder:" msgstr "資料夾:" @@ -4308,6 +4380,11 @@ msgstr "尋找..." msgid "Replace..." msgstr "替換…" +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "全部取代" + #: editor/find_in_files.cpp msgid "Find: " msgstr "尋找: " @@ -4317,8 +4394,9 @@ msgid "Replace: " msgstr "取代: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "全部取代(不可還原)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "全部取代" #: editor/find_in_files.cpp msgid "Searching..." @@ -4548,6 +4626,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "資源加載失敗。" @@ -6086,6 +6170,11 @@ msgstr "要刪除選中檔案?" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "要刪除選中檔案?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "V: Set selected node's pivot position." msgstr "移除被選取的軌迹。" @@ -6115,6 +6204,10 @@ msgid "Scale Mode" msgstr "選擇模式" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -6214,20 +6307,44 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "所有選項" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "刪除選中檔案" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "移除選項" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "移除選項" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" msgstr "只限選中" @@ -7925,6 +8042,11 @@ msgid "Find in Files..." msgstr "篩選檔案..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "替換…" + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "" @@ -8470,6 +8592,19 @@ msgid "Toggle Freelook" msgstr "全螢幕" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "預設" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "" @@ -9251,6 +9386,29 @@ msgstr "檔案" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy +msgid "Add Type" +msgstr "新增節點" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "篩選:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "路徑為空" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Confirm Item Rename" msgstr "動畫軌跡重新命名" @@ -9276,20 +9434,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Add Type" -msgstr "新增節點" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Node Types:" -msgstr "Node名稱" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" msgstr "預設" @@ -9307,6 +9451,10 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme:" msgstr "檔案" @@ -11808,11 +11956,6 @@ msgid "Batch Rename" msgstr "重新命名..." #: editor/rename_dialog.cpp -#, fuzzy -msgid "Replace:" -msgstr "取代: " - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "" @@ -12102,6 +12245,20 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "" @@ -13107,64 +13264,69 @@ msgstr "所有選項" msgid "End of inner exception stack trace" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp #, fuzzy msgid "Marking walkable triangles..." msgstr "儲存本地更改..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "" @@ -14166,6 +14328,16 @@ msgstr "" msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -14374,16 +14546,22 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "" @@ -14784,10 +14962,6 @@ msgid "" msgstr "" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 1163c3d559..c75612316a 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -1,6 +1,6 @@ # Chinese (Taiwan) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Allen H <w84miracle@gmail.com>, 2017. # Billy SU <g4691821@gmail.com>, 2018. @@ -344,6 +344,11 @@ msgid "Duplicate Key(s)" msgstr "重複關鍵畫格" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Add RESET Value(s)" +msgstr "新增 %d 個影格" + +#: editor/animation_track_editor.cpp msgid "Delete Key(s)" msgstr "刪除關鍵畫格" @@ -510,6 +515,11 @@ msgid "" msgstr "該選項不適用貝茲曲線編輯,因曲線僅有單一軌道。" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Anim Add RESET Keys" +msgstr "動畫縮放關鍵影格" + +#: editor/animation_track_editor.cpp msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -1479,6 +1489,10 @@ msgid "Invalid name." msgstr "無效的名稱。" #: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp msgid "Valid characters:" msgstr "可使用的字元:" @@ -1583,7 +1597,9 @@ msgstr "正在更新場景…" msgid "[empty]" msgstr "[空]" -#: editor/editor_data.cpp +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp msgid "[unsaved]" msgstr "[未保存]" @@ -1604,6 +1620,7 @@ msgstr "建立資料夾" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" msgstr "名稱:" @@ -2087,7 +2104,8 @@ msgid "Properties" msgstr "屬性" #: editor/editor_help.cpp -msgid "override:" +#, fuzzy +msgid "overrides %s:" msgstr "複寫:" #: editor/editor_help.cpp @@ -2225,6 +2243,20 @@ msgstr "主題屬性" msgid "Property:" msgstr "屬性:" +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Pin value" +msgstr "(數值)" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -2234,6 +2266,29 @@ msgstr "設定 %s" msgid "Set Multiple:" msgstr "設定多個:" +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property" +msgstr "複製屬性" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Paste Property" +msgstr "貼上屬性" + +#: editor/editor_inspector.cpp +#, fuzzy +msgid "Copy Property Path" +msgstr "複製腳本路徑" + #: editor/editor_log.cpp msgid "Output:" msgstr "輸出:" @@ -3011,6 +3066,20 @@ msgid "" msgstr "開啟該選項後,導航網格與多邊形將在專案執行時可見。" #: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp msgid "Synchronize Scene Changes" msgstr "同步常見更改" @@ -4104,6 +4173,10 @@ msgstr "在檔案中搜尋" msgid "Find:" msgstr "搜尋:" +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "取代:" + #: editor/find_in_files.cpp msgid "Folder:" msgstr "資料夾:" @@ -4127,6 +4200,11 @@ msgstr "搜尋..." msgid "Replace..." msgstr "取代..." +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Replace in Files" +msgstr "取代全部" + #: editor/find_in_files.cpp msgid "Find: " msgstr "搜尋: " @@ -4136,8 +4214,9 @@ msgid "Replace: " msgstr "取代: " #: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "全部取代(無法復原)" +#, fuzzy +msgid "Replace All (NO UNDO)" +msgstr "取代全部" #: editor/find_in_files.cpp msgid "Searching..." @@ -4353,6 +4432,12 @@ msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "警告:有素材使用該資源,將無法正確加載。" +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "加載資源失敗。" @@ -5790,6 +5875,11 @@ msgid "Alt+Drag: Move selected node." msgstr "Alt+拖移:移動所選的節點。" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Alt+Drag: Scale selected node." +msgstr "Alt+拖移:移動所選的節點。" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." msgstr "V:設定所選節點之支點位置。" @@ -5818,6 +5908,10 @@ msgid "Scale Mode" msgstr "縮放模式" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +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" @@ -5914,20 +6008,44 @@ msgstr "在其位置上鎖定所選物件(無法移動)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Lock Selected Node(s)" +msgstr "鎖定所選" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." msgstr "解鎖所選物件(可移動)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Unlock Selected Node(s)" +msgstr "取消鎖定所選" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "確保物件的子級項目無法被選擇。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Group Selected Node(s)" +msgstr "為所選的項目建立群組" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." msgstr "恢復讓物件的子級項目可選擇。" #: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Ungroup Selected Node(s)" +msgstr "移除所選項目的群組" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" msgstr "骨架選項" @@ -7550,6 +7668,11 @@ msgid "Find in Files..." msgstr "在檔案中搜尋..." #: editor/plugins/script_text_editor.cpp +#, fuzzy +msgid "Replace in Files..." +msgstr "取代..." + +#: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "上下文說明" @@ -8071,6 +8194,19 @@ msgid "Toggle Freelook" msgstr "開啟/關閉自由視圖" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Reset Field of View to Default" +msgstr "重設為預設值" + +#: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" msgstr "變換" @@ -8788,6 +8924,29 @@ msgid "Another Theme" msgstr "其他主題" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "新增類別" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Available Node-based types:" +msgstr "可用設定檔:" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Type name is empty!" +msgstr "檔案名稱為空。" + +#: editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Are you sure you want to create an empty type?" +msgstr "確定要打開多個專案嗎?" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" msgstr "確認項目重新命名" @@ -8811,18 +8970,6 @@ msgstr "" "釘選該樣式盒為主要樣式。編輯其屬性將更新所有其他同類別的樣式盒之相同屬性。" #: editor/plugins/theme_editor_plugin.cpp -msgid "Add Type" -msgstr "新增類別" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item Type" -msgstr "新增項目類型" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Node Types:" -msgstr "節點類別:" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" msgstr "顯示預設" @@ -8839,6 +8986,10 @@ msgid "Override all default type items." msgstr "複寫所有預設類別項目。" #: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item Type" +msgstr "新增項目類型" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" msgstr "主題:" @@ -11275,10 +11426,6 @@ msgid "Batch Rename" msgstr "批次重新命名" #: editor/rename_dialog.cpp -msgid "Replace:" -msgstr "取代:" - -#: editor/rename_dialog.cpp msgid "Prefix:" msgstr "前置:" @@ -11561,6 +11708,20 @@ msgstr "" "場景。" #: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Save New Scene As..." msgstr "另存新場景為..." @@ -12508,63 +12669,68 @@ msgstr "建構解決方案" msgid "End of inner exception stack trace" msgstr "內部異常堆疊回溯結束" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "必須先為該節點建立 NavigationMesh 資源才可運作。" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" msgstr "製作 NavMesh" -#: modules/recast/navigation_mesh_editor_plugin.cpp +#: modules/navigation/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." msgstr "清除導航網格。" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Setting up Configuration..." msgstr "正在設定組態..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Calculating grid size..." msgstr "正在計算網格大小..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating heightfield..." msgstr "正在建立 Heightfield..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." msgstr "正在標記可移動的三角形..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." msgstr "正在建置緊湊 Heightfield..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Eroding walkable area..." msgstr "正在建立可移動區域..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Partitioning..." msgstr "正在分割..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating contours..." msgstr "正在建立輪廓..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Creating polymesh..." msgstr "正在建立多邊形網格..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." msgstr "正在轉換為原生導航網格..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" msgstr "導航網格產生器設定:" -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Parsing Geometry..." msgstr "正在解析多邊形..." -#: modules/recast/navigation_mesh_generator.cpp +#: modules/navigation/navigation_mesh_generator.cpp msgid "Done!" msgstr "完成!" @@ -13536,6 +13702,16 @@ msgstr "該遮光體必須要有設定(或繪製)遮光體形狀才會有作 msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "遮光體無遮光體多邊形。請先繪製一個多邊形。" +#: scene/2d/navigation_agent_2d.cpp +msgid "The NavigationAgent2D can be used only under a Node2D node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " @@ -13767,11 +13943,11 @@ msgstr "" msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." msgstr "角度大於 90 度的 SpotLight 無法投射出陰影。" -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "必須先為該節點建立 NavigationMesh 資源才可運作。" +#: scene/3d/navigation_agent.cpp +msgid "The NavigationAgent can be used only under a spatial node." +msgstr "" -#: scene/3d/navigation_mesh.cpp +#: scene/3d/navigation_mesh_instance.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." @@ -13779,6 +13955,12 @@ msgstr "" "NavigationMeshInstance 必須為 Navigation 節點的子節點或次級子節點。其僅提供導" "航資料。" +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"spatial object." +msgstr "" + #: scene/3d/occluder.cpp msgid "No shape is set." msgstr "未設定任何的形狀。" @@ -14233,10 +14415,6 @@ msgstr "" "指派。" #: servers/visual/shader_language.cpp -msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "無法在自定義函式中存取片段階段(Fragment-stage)中的Varying變數!" - -#: servers/visual/shader_language.cpp msgid "Assignment to function." msgstr "指派至函式。" |