diff options
Diffstat (limited to 'editor')
134 files changed, 11762 insertions, 5306 deletions
diff --git a/editor/SCsub b/editor/SCsub index a976c4ed12..d149cc6273 100644 --- a/editor/SCsub +++ b/editor/SCsub @@ -30,7 +30,10 @@ if env["tools"]: reg_exporters_inc = '#include "register_exporters.h"\n' reg_exporters = "void register_exporters() {\n" for e in env.platform_exporters: - env.add_source_files(env.editor_sources, "#platform/" + e + "/export/export.cpp") + # Glob all .cpp files in export folder + files = Glob("#platform/" + e + "/export/" + "*.cpp") + env.add_source_files(env.editor_sources, files) + reg_exporters += "\tregister_" + e + "_exporter();\n" reg_exporters_inc += '#include "platform/' + e + '/export/export.h"\n' reg_exporters += "}\n" diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp index 9126e0512e..7aa63f899b 100644 --- a/editor/action_map_editor.cpp +++ b/editor/action_map_editor.cpp @@ -249,10 +249,10 @@ void InputEventConfigurationDialog::_listen_window_input(const Ref<InputEvent> & // Maintain physical keycode option state if (physical_key_checkbox->is_pressed()) { k->set_physical_keycode(k->get_keycode()); - k->set_keycode(0); + k->set_keycode(KEY_NONE); } else { - k->set_keycode(k->get_physical_keycode()); - k->set_physical_keycode(0); + k->set_keycode((Key)k->get_physical_keycode()); + k->set_physical_keycode(KEY_NONE); } } @@ -435,10 +435,10 @@ void InputEventConfigurationDialog::_physical_keycode_toggled(bool p_checked) { if (p_checked) { k->set_physical_keycode(k->get_keycode()); - k->set_keycode(0); + k->set_keycode(KEY_NONE); } else { - k->set_keycode(k->get_physical_keycode()); - k->set_physical_keycode(0); + k->set_keycode((Key)k->get_physical_keycode()); + k->set_physical_keycode(KEY_NONE); } _set_event(k); @@ -452,20 +452,20 @@ void InputEventConfigurationDialog::_input_list_item_selected() { return; } - int input_type = selected->get_parent()->get_meta("__type"); + InputEventConfigurationDialog::InputType input_type = (InputEventConfigurationDialog::InputType)(int)selected->get_parent()->get_meta("__type"); switch (input_type) { case InputEventConfigurationDialog::INPUT_KEY: { - int kc = selected->get_meta("__keycode"); + Key keycode = (Key)(int)selected->get_meta("__keycode"); Ref<InputEventKey> k; k.instantiate(); if (physical_key_checkbox->is_pressed()) { - k->set_physical_keycode(kc); - k->set_keycode(0); + k->set_physical_keycode(keycode); + k->set_keycode(KEY_NONE); } else { - k->set_physical_keycode(0); - k->set_keycode(kc); + k->set_physical_keycode(KEY_NONE); + k->set_keycode(keycode); } // Maintain modifier state from checkboxes @@ -479,10 +479,10 @@ void InputEventConfigurationDialog::_input_list_item_selected() { _set_event(k); } break; case InputEventConfigurationDialog::INPUT_MOUSE_BUTTON: { - int idx = selected->get_meta("__index"); + MouseButton idx = (MouseButton)(int)selected->get_meta("__index"); Ref<InputEventMouseButton> mb; mb.instantiate(); - mb->set_button_index((MouseButton)idx); + mb->set_button_index(idx); // Maintain modifier state from checkboxes mb->set_alt_pressed(mod_checkboxes[MOD_ALT]->is_pressed()); mb->set_shift_pressed(mod_checkboxes[MOD_SHIFT]->is_pressed()); @@ -494,22 +494,20 @@ void InputEventConfigurationDialog::_input_list_item_selected() { _set_event(mb); } break; case InputEventConfigurationDialog::INPUT_JOY_BUTTON: { - int idx = selected->get_meta("__index"); - Ref<InputEventJoypadButton> jb = InputEventJoypadButton::create_reference((JoyButton)idx); + JoyButton idx = (JoyButton)(int)selected->get_meta("__index"); + Ref<InputEventJoypadButton> jb = InputEventJoypadButton::create_reference(idx); _set_event(jb); } break; case InputEventConfigurationDialog::INPUT_JOY_MOTION: { - int axis = selected->get_meta("__axis"); + JoyAxis axis = (JoyAxis)(int)selected->get_meta("__axis"); int value = selected->get_meta("__value"); Ref<InputEventJoypadMotion> jm; jm.instantiate(); - jm->set_axis((JoyAxis)axis); + jm->set_axis(axis); jm->set_axis_value(value); _set_event(jm); } break; - default: - break; } } diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index c9d3df9ce2..964c37906f 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -3418,6 +3418,7 @@ void AnimationTrackEditor::_query_insert(const InsertData &p_id) { if (bool(EDITOR_DEF("editors/animation/confirm_insert_track", true))) { //potential new key, does not exist if (num_tracks == 1) { + // TRANSLATORS: %s will be replaced by a phrase describing the target of track. insert_confirm_text->set_text(vformat(TTR("Create new track for %s and insert key?"), p_id.query)); } else { insert_confirm_text->set_text(vformat(TTR("Create %d new tracks and insert keys?"), num_tracks)); @@ -3525,7 +3526,8 @@ void AnimationTrackEditor::insert_transform_key(Node3D *p_node, const String &p_ id.track_idx = track_idx; id.value = p_xform; id.type = Animation::TYPE_TRANSFORM3D; - id.query = "node '" + p_node->get_name() + "'"; + // TRANSLATORS: This describes the target of new animation track, will be inserted into another string. + id.query = vformat(TTR("node '%s'"), p_node->get_name()); id.advance = false; //dialog insert @@ -3547,7 +3549,8 @@ void AnimationTrackEditor::_insert_animation_key(NodePath p_path, const Variant id.track_idx = i; id.value = p_value; id.type = Animation::TYPE_ANIMATION; - id.query = "animation"; + // TRANSLATORS: This describes the target of new animation track, will be inserted into another string. + id.query = TTR("animation"); id.advance = false; //dialog insert _query_insert(id); @@ -3560,7 +3563,7 @@ void AnimationTrackEditor::_insert_animation_key(NodePath p_path, const Variant id.track_idx = -1; id.value = p_value; id.type = Animation::TYPE_ANIMATION; - id.query = "animation"; + id.query = TTR("animation"); id.advance = false; //dialog insert _query_insert(id); @@ -3609,7 +3612,8 @@ void AnimationTrackEditor::insert_node_value_key(Node *p_node, const String &p_p id.track_idx = i; id.value = p_value; id.type = Animation::TYPE_VALUE; - id.query = "property '" + p_property + "'"; + // TRANSLATORS: This describes the target of new animation track, will be inserted into another string. + id.query = vformat(TTR("property '%s'"), p_property); id.advance = false; //dialog insert _query_insert(id); @@ -3639,7 +3643,7 @@ void AnimationTrackEditor::insert_node_value_key(Node *p_node, const String &p_p id.track_idx = i; id.value = value; id.type = Animation::TYPE_BEZIER; - id.query = "property '" + p_property + "'"; + id.query = vformat(TTR("property '%s'"), p_property); id.advance = false; //dialog insert _query_insert(id); @@ -3655,7 +3659,7 @@ void AnimationTrackEditor::insert_node_value_key(Node *p_node, const String &p_p id.track_idx = -1; id.value = p_value; id.type = Animation::TYPE_VALUE; - id.query = "property '" + p_property + "'"; + id.query = vformat(TTR("property '%s'"), p_property); id.advance = false; //dialog insert _query_insert(id); @@ -3708,7 +3712,7 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari id.track_idx = i; id.value = p_value; id.type = Animation::TYPE_VALUE; - id.query = "property '" + p_property + "'"; + id.query = vformat(TTR("property '%s'"), p_property); id.advance = p_advance; //dialog insert _query_insert(id); @@ -3733,7 +3737,7 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari id.track_idx = i; id.value = value; id.type = Animation::TYPE_BEZIER; - id.query = "property '" + p_property + "'"; + id.query = vformat(TTR("property '%s'"), p_property); id.advance = p_advance; //dialog insert _query_insert(id); @@ -3747,7 +3751,7 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari id.track_idx = -1; id.value = p_value; id.type = Animation::TYPE_VALUE; - id.query = "property '" + p_property + "'"; + id.query = vformat(TTR("property '%s'"), p_property); id.advance = p_advance; //dialog insert _query_insert(id); @@ -5755,6 +5759,8 @@ void AnimationTrackEditor::_pick_track_filter_input(const Ref<InputEvent> &p_ie) pick_track->get_scene_tree()->get_scene_tree()->call("_gui_input", k); pick_track->get_filter_line_edit()->accept_event(); } break; + default: + break; } } } diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index eeb99b3677..a5943c952b 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -44,7 +44,7 @@ void GotoLineDialog::popup_find_line(CodeEdit *p_edit) { text_editor = p_edit; - line->set_text(itos(text_editor->cursor_get_line())); + line->set_text(itos(text_editor->get_caret_line())); line->select_all(); popup_centered(Size2(180, 80) * EDSCALE); line->grab_focus(); @@ -59,7 +59,7 @@ void GotoLineDialog::ok_pressed() { return; } text_editor->unfold_line(get_line() - 1); - text_editor->cursor_set_line(get_line() - 1); + text_editor->set_caret_line(get_line() - 1); hide(); } @@ -142,26 +142,23 @@ void FindReplaceBar::_unhandled_input(const Ref<InputEvent> &p_event) { } bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col) { - int line, col; String text = get_search_text(); + Point2i pos = text_editor->search(text, p_flags, p_from_line, p_from_col); - bool found = text_editor->search(text, p_flags, p_from_line, p_from_col, line, col); - - if (found) { + if (pos.x != -1) { if (!preserve_cursor && !is_selection_only()) { - text_editor->unfold_line(line); - text_editor->cursor_set_line(line, false); - text_editor->cursor_set_column(col + text.length(), false); - text_editor->center_viewport_to_cursor(); - text_editor->select(line, col, line, col + text.length()); + text_editor->unfold_line(pos.y); + text_editor->set_caret_line(pos.y, false); + text_editor->set_caret_column(pos.x + text.length(), false); + text_editor->center_viewport_to_caret(); + text_editor->select(pos.y, pos.x, pos.y, pos.x + text.length()); } text_editor->set_search_text(text); text_editor->set_search_flags(p_flags); - text_editor->set_current_search_result(line, col); - result_line = line; - result_col = col; + result_line = pos.y; + result_col = pos.x; _update_results_count(); } else { @@ -170,16 +167,15 @@ bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col) result_col = -1; text_editor->set_search_text(""); text_editor->set_search_flags(p_flags); - text_editor->set_current_search_result(line, col); } _update_matches_label(); - return found; + return pos.x != -1; } void FindReplaceBar::_replace() { - bool selection_enabled = text_editor->is_selection_active(); + bool selection_enabled = text_editor->has_selection(); Point2i selection_begin, selection_end; if (selection_enabled) { selection_begin = Point2i(text_editor->get_selection_from_line(), text_editor->get_selection_from_column()); @@ -191,8 +187,8 @@ void FindReplaceBar::_replace() { text_editor->begin_complex_operation(); if (selection_enabled && is_selection_only()) { // To restrict search_current() to selected region - text_editor->cursor_set_line(selection_begin.width); - text_editor->cursor_set_column(selection_begin.height); + text_editor->set_caret_line(selection_begin.width); + text_editor->set_caret_column(selection_begin.height); } if (search_current()) { @@ -203,13 +199,13 @@ void FindReplaceBar::_replace() { Point2i match_from(result_line, result_col); Point2i match_to(result_line, result_col + search_text_len); if (!(match_from < selection_begin || match_to > selection_end)) { - text_editor->insert_text_at_cursor(replace_text); + text_editor->insert_text_at_caret(replace_text); if (match_to.x == selection_end.x) { // Adjust selection bounds if necessary selection_end.y += replace_text.length() - search_text_len; } } } else { - text_editor->insert_text_at_cursor(replace_text); + text_editor->insert_text_at_caret(replace_text); } } text_editor->end_complex_operation(); @@ -226,10 +222,10 @@ void FindReplaceBar::_replace() { void FindReplaceBar::_replace_all() { text_editor->disconnect("text_changed", callable_mp(this, &FindReplaceBar::_editor_text_changed)); // Line as x so it gets priority in comparison, column as y. - Point2i orig_cursor(text_editor->cursor_get_line(), text_editor->cursor_get_column()); + Point2i orig_cursor(text_editor->get_caret_line(), text_editor->get_caret_column()); Point2i prev_match = Point2(-1, -1); - bool selection_enabled = text_editor->is_selection_active(); + bool selection_enabled = text_editor->has_selection(); Point2i selection_begin, selection_end; if (selection_enabled) { selection_begin = Point2i(text_editor->get_selection_from_line(), text_editor->get_selection_from_column()); @@ -238,8 +234,8 @@ void FindReplaceBar::_replace_all() { int vsval = text_editor->get_v_scroll(); - text_editor->cursor_set_line(0); - text_editor->cursor_set_column(0); + text_editor->set_caret_line(0); + text_editor->set_caret_column(0); String replace_text = get_replace_text(); int search_text_len = get_search_text().length(); @@ -251,8 +247,8 @@ void FindReplaceBar::_replace_all() { text_editor->begin_complex_operation(); if (selection_enabled && is_selection_only()) { - text_editor->cursor_set_line(selection_begin.width); - text_editor->cursor_set_column(selection_begin.height); + text_editor->set_caret_line(selection_begin.width); + text_editor->set_caret_column(selection_begin.height); } if (search_current()) { do { @@ -275,14 +271,14 @@ void FindReplaceBar::_replace_all() { } // Replace but adjust selection bounds. - text_editor->insert_text_at_cursor(replace_text); + text_editor->insert_text_at_caret(replace_text); if (match_to.x == selection_end.x) { selection_end.y += replace_text.length() - search_text_len; } } else { // Just replace. - text_editor->insert_text_at_cursor(replace_text); + text_editor->insert_text_at_caret(replace_text); } rc++; @@ -294,8 +290,8 @@ void FindReplaceBar::_replace_all() { replace_all_mode = false; // Restore editor state (selection, cursor, scroll). - text_editor->cursor_set_line(orig_cursor.x); - text_editor->cursor_set_column(orig_cursor.y); + text_editor->set_caret_line(orig_cursor.x); + text_editor->set_caret_column(orig_cursor.y); if (selection_enabled && is_selection_only()) { // Reselect. @@ -313,10 +309,10 @@ void FindReplaceBar::_replace_all() { } void FindReplaceBar::_get_search_from(int &r_line, int &r_col) { - r_line = text_editor->cursor_get_line(); - r_col = text_editor->cursor_get_column(); + r_line = text_editor->get_caret_line(); + r_col = text_editor->get_caret_column(); - if (text_editor->is_selection_active() && is_selection_only()) { + if (text_editor->has_selection() && is_selection_only()) { return; } @@ -409,7 +405,7 @@ bool FindReplaceBar::search_prev() { int line, col; _get_search_from(line, col); - if (text_editor->is_selection_active()) { + if (text_editor->has_selection()) { col--; // Skip currently selected word. } @@ -487,8 +483,8 @@ void FindReplaceBar::_show_search(bool p_focus_replace, bool p_show_only) { search_text->call_deferred(SNAME("grab_focus")); } - if (text_editor->is_selection_active() && !selection_only->is_pressed()) { - search_text->set_text(text_editor->get_selection_text()); + if (text_editor->has_selection() && !selection_only->is_pressed()) { + search_text->set_text(text_editor->get_selected_text()); } if (!get_search_text().is_empty()) { @@ -521,9 +517,9 @@ void FindReplaceBar::popup_replace() { hbc_option_replace->show(); } - selection_only->set_pressed((text_editor->is_selection_active() && text_editor->get_selection_from_line() < text_editor->get_selection_to_line())); + selection_only->set_pressed((text_editor->has_selection() && text_editor->get_selection_from_line() < text_editor->get_selection_to_line())); - _show_search(is_visible() || text_editor->is_selection_active()); + _show_search(is_visible() || text_editor->has_selection()); } void FindReplaceBar::_search_options_changed(bool p_pressed) { @@ -554,7 +550,7 @@ void FindReplaceBar::_search_text_submitted(const String &p_text) { } void FindReplaceBar::_replace_text_submitted(const String &p_text) { - if (selection_only->is_pressed() && text_editor->is_selection_active()) { + if (selection_only->is_pressed() && text_editor->has_selection()) { _replace_all(); _hide_bar(); } else if (Input::get_singleton()->is_key_pressed(KEY_SHIFT)) { @@ -807,10 +803,10 @@ void CodeTextEditor::_reset_zoom() { } void CodeTextEditor::_line_col_changed() { - String line = text_editor->get_line(text_editor->cursor_get_line()); + String line = text_editor->get_line(text_editor->get_caret_line()); int positional_column = 0; - for (int i = 0; i < text_editor->cursor_get_column(); i++) { + for (int i = 0; i < text_editor->get_caret_column(); i++) { if (line[i] == '\t') { positional_column += text_editor->get_indent_size(); //tab size } else { @@ -820,7 +816,7 @@ void CodeTextEditor::_line_col_changed() { StringBuilder sb; sb.append("("); - sb.append(itos(text_editor->cursor_get_line() + 1).lpad(3)); + sb.append(itos(text_editor->get_caret_line() + 1).lpad(3)); sb.append(","); sb.append(itos(positional_column + 1).lpad(3)); sb.append(")"); @@ -950,11 +946,11 @@ void CodeTextEditor::update_editor_settings() { text_editor->set_draw_bookmarks_gutter(EditorSettings::get_singleton()->get("text_editor/appearance/show_bookmark_gutter")); text_editor->set_line_folding_enabled(EditorSettings::get_singleton()->get("text_editor/appearance/code_folding")); text_editor->set_draw_fold_gutter(EditorSettings::get_singleton()->get("text_editor/appearance/code_folding")); - text_editor->set_wrap_enabled(EditorSettings::get_singleton()->get("text_editor/appearance/word_wrap")); - text_editor->set_scroll_pass_end_of_file(EditorSettings::get_singleton()->get("text_editor/cursor/scroll_past_end_of_file")); - text_editor->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/cursor/block_caret")); - text_editor->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink")); - text_editor->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed")); + text_editor->set_line_wrapping_mode((TextEdit::LineWrappingMode)EditorSettings::get_singleton()->get("text_editor/appearance/word_wrap").operator int()); + text_editor->set_scroll_past_end_of_file_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/scroll_past_end_of_file")); + text_editor->set_caret_type((TextEdit::CaretType)EditorSettings::get_singleton()->get("text_editor/cursor/type").operator int()); + text_editor->set_caret_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink")); + text_editor->set_caret_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed")); text_editor->set_auto_brace_completion_enabled(EditorSettings::get_singleton()->get("text_editor/completion/auto_brace_complete")); if (EditorSettings::get_singleton()->get("text_editor/appearance/show_line_length_guidelines")) { @@ -1039,8 +1035,8 @@ void CodeTextEditor::convert_indent_to_spaces() { indent += " "; } - int cursor_line = text_editor->cursor_get_line(); - int cursor_column = text_editor->cursor_get_column(); + int cursor_line = text_editor->get_caret_line(); + int cursor_column = text_editor->get_caret_column(); bool changed_indentation = false; for (int i = 0; i < text_editor->get_line_count(); i++) { @@ -1069,7 +1065,7 @@ void CodeTextEditor::convert_indent_to_spaces() { } } if (changed_indentation) { - text_editor->cursor_set_column(cursor_column); + text_editor->set_caret_column(cursor_column); text_editor->end_complex_operation(); text_editor->update(); } @@ -1079,8 +1075,8 @@ void CodeTextEditor::convert_indent_to_tabs() { int indent_size = EditorSettings::get_singleton()->get("text_editor/indent/size"); indent_size -= 1; - int cursor_line = text_editor->cursor_get_line(); - int cursor_column = text_editor->cursor_get_column(); + int cursor_line = text_editor->get_caret_line(); + int cursor_column = text_editor->get_caret_column(); bool changed_indentation = false; for (int i = 0; i < text_editor->get_line_count(); i++) { @@ -1118,14 +1114,14 @@ void CodeTextEditor::convert_indent_to_tabs() { } } if (changed_indentation) { - text_editor->cursor_set_column(cursor_column); + text_editor->set_caret_column(cursor_column); text_editor->end_complex_operation(); text_editor->update(); } } void CodeTextEditor::convert_case(CaseStyle p_case) { - if (!text_editor->is_selection_active()) { + if (!text_editor->has_selection()) { return; } @@ -1171,12 +1167,12 @@ void CodeTextEditor::convert_case(CaseStyle p_case) { void CodeTextEditor::move_lines_up() { text_editor->begin_complex_operation(); - if (text_editor->is_selection_active()) { + if (text_editor->has_selection()) { int from_line = text_editor->get_selection_from_line(); int from_col = text_editor->get_selection_from_column(); int to_line = text_editor->get_selection_to_line(); int to_column = text_editor->get_selection_to_column(); - int cursor_line = text_editor->cursor_get_line(); + int cursor_line = text_editor->get_caret_line(); for (int i = from_line; i <= to_line; i++) { int line_id = i; @@ -1190,15 +1186,15 @@ void CodeTextEditor::move_lines_up() { text_editor->unfold_line(next_id); text_editor->swap_lines(line_id, next_id); - text_editor->cursor_set_line(next_id); + text_editor->set_caret_line(next_id); } int from_line_up = from_line > 0 ? from_line - 1 : from_line; int to_line_up = to_line > 0 ? to_line - 1 : to_line; int cursor_line_up = cursor_line > 0 ? cursor_line - 1 : cursor_line; text_editor->select(from_line_up, from_col, to_line_up, to_column); - text_editor->cursor_set_line(cursor_line_up); + text_editor->set_caret_line(cursor_line_up); } else { - int line_id = text_editor->cursor_get_line(); + int line_id = text_editor->get_caret_line(); int next_id = line_id - 1; if (line_id == 0 || next_id < 0) { @@ -1209,7 +1205,7 @@ void CodeTextEditor::move_lines_up() { text_editor->unfold_line(next_id); text_editor->swap_lines(line_id, next_id); - text_editor->cursor_set_line(next_id); + text_editor->set_caret_line(next_id); } text_editor->end_complex_operation(); text_editor->update(); @@ -1217,12 +1213,12 @@ void CodeTextEditor::move_lines_up() { void CodeTextEditor::move_lines_down() { text_editor->begin_complex_operation(); - if (text_editor->is_selection_active()) { + if (text_editor->has_selection()) { int from_line = text_editor->get_selection_from_line(); int from_col = text_editor->get_selection_from_column(); int to_line = text_editor->get_selection_to_line(); int to_column = text_editor->get_selection_to_column(); - int cursor_line = text_editor->cursor_get_line(); + int cursor_line = text_editor->get_caret_line(); for (int i = to_line; i >= from_line; i--) { int line_id = i; @@ -1236,15 +1232,15 @@ void CodeTextEditor::move_lines_down() { text_editor->unfold_line(next_id); text_editor->swap_lines(line_id, next_id); - text_editor->cursor_set_line(next_id); + text_editor->set_caret_line(next_id); } int from_line_down = from_line < text_editor->get_line_count() ? from_line + 1 : from_line; int to_line_down = to_line < text_editor->get_line_count() ? to_line + 1 : to_line; int cursor_line_down = cursor_line < text_editor->get_line_count() ? cursor_line + 1 : cursor_line; text_editor->select(from_line_down, from_col, to_line_down, to_column); - text_editor->cursor_set_line(cursor_line_down); + text_editor->set_caret_line(cursor_line_down); } else { - int line_id = text_editor->cursor_get_line(); + int line_id = text_editor->get_caret_line(); int next_id = line_id + 1; if (line_id == text_editor->get_line_count() - 1 || next_id > text_editor->get_line_count()) { @@ -1255,7 +1251,7 @@ void CodeTextEditor::move_lines_down() { text_editor->unfold_line(next_id); text_editor->swap_lines(line_id, next_id); - text_editor->cursor_set_line(next_id); + text_editor->set_caret_line(next_id); } text_editor->end_complex_operation(); text_editor->update(); @@ -1266,57 +1262,57 @@ void CodeTextEditor::_delete_line(int p_line) { // so `begin_complex_operation` is omitted here text_editor->set_line(p_line, ""); if (p_line == 0 && text_editor->get_line_count() > 1) { - text_editor->cursor_set_line(1); - text_editor->cursor_set_column(0); + text_editor->set_caret_line(1); + text_editor->set_caret_column(0); } text_editor->backspace(); text_editor->unfold_line(p_line); - text_editor->cursor_set_line(p_line); + text_editor->set_caret_line(p_line); } void CodeTextEditor::delete_lines() { text_editor->begin_complex_operation(); - if (text_editor->is_selection_active()) { + if (text_editor->has_selection()) { int to_line = text_editor->get_selection_to_line(); int from_line = text_editor->get_selection_from_line(); int count = Math::abs(to_line - from_line) + 1; - text_editor->cursor_set_line(from_line, false); + text_editor->set_caret_line(from_line, false); for (int i = 0; i < count; i++) { _delete_line(from_line); } text_editor->deselect(); } else { - _delete_line(text_editor->cursor_get_line()); + _delete_line(text_editor->get_caret_line()); } text_editor->end_complex_operation(); } void CodeTextEditor::duplicate_selection() { - const int cursor_column = text_editor->cursor_get_column(); - int from_line = text_editor->cursor_get_line(); - int to_line = text_editor->cursor_get_line(); + const int cursor_column = text_editor->get_caret_column(); + int from_line = text_editor->get_caret_line(); + int to_line = text_editor->get_caret_line(); int from_column = 0; int to_column = 0; int cursor_new_line = to_line + 1; - int cursor_new_column = text_editor->cursor_get_column(); + int cursor_new_column = text_editor->get_caret_column(); String new_text = "\n" + text_editor->get_line(from_line); bool selection_active = false; - text_editor->cursor_set_column(text_editor->get_line(from_line).length()); - if (text_editor->is_selection_active()) { + text_editor->set_caret_column(text_editor->get_line(from_line).length()); + if (text_editor->has_selection()) { from_column = text_editor->get_selection_from_column(); to_column = text_editor->get_selection_to_column(); from_line = text_editor->get_selection_from_line(); to_line = text_editor->get_selection_to_line(); - cursor_new_line = to_line + text_editor->cursor_get_line() - from_line; + cursor_new_line = to_line + text_editor->get_caret_line() - from_line; cursor_new_column = to_column == cursor_column ? 2 * to_column - from_column : to_column; - new_text = text_editor->get_selection_text(); + new_text = text_editor->get_selected_text(); selection_active = true; - text_editor->cursor_set_line(to_line); - text_editor->cursor_set_column(to_column); + text_editor->set_caret_line(to_line); + text_editor->set_caret_column(to_column); } text_editor->begin_complex_operation(); @@ -1325,9 +1321,9 @@ void CodeTextEditor::duplicate_selection() { text_editor->unfold_line(i); } text_editor->deselect(); - text_editor->insert_text_at_cursor(new_text); - text_editor->cursor_set_line(cursor_new_line); - text_editor->cursor_set_column(cursor_new_column); + text_editor->insert_text_at_caret(new_text); + text_editor->set_caret_line(cursor_new_line); + text_editor->set_caret_column(cursor_new_column); if (selection_active) { text_editor->select(to_line, to_column, 2 * to_line - from_line, to_line == from_line ? 2 * to_column - from_column : to_column); } @@ -1338,7 +1334,7 @@ void CodeTextEditor::duplicate_selection() { void CodeTextEditor::toggle_inline_comment(const String &delimiter) { text_editor->begin_complex_operation(); - if (text_editor->is_selection_active()) { + if (text_editor->has_selection()) { int begin = text_editor->get_selection_from_line(); int end = text_editor->get_selection_to_line(); @@ -1348,7 +1344,7 @@ void CodeTextEditor::toggle_inline_comment(const String &delimiter) { } int col_to = text_editor->get_selection_to_column(); - int cursor_pos = text_editor->cursor_get_column(); + int cursor_pos = text_editor->get_caret_column(); // Check if all lines in the selected block are commented. bool is_commented = true; @@ -1377,7 +1373,7 @@ void CodeTextEditor::toggle_inline_comment(const String &delimiter) { int offset = (is_commented ? -1 : 1) * delimiter.length(); int col_from = text_editor->get_selection_from_column() > 0 ? text_editor->get_selection_from_column() + offset : 0; - if (is_commented && text_editor->cursor_get_column() == text_editor->get_line(text_editor->cursor_get_line()).length() + 1) { + if (is_commented && text_editor->get_caret_column() == text_editor->get_line(text_editor->get_caret_line()).length() + 1) { cursor_pos += 1; } @@ -1385,19 +1381,19 @@ void CodeTextEditor::toggle_inline_comment(const String &delimiter) { col_to += offset; } - if (text_editor->cursor_get_column() != 0) { + if (text_editor->get_caret_column() != 0) { cursor_pos += offset; } text_editor->select(begin, col_from, text_editor->get_selection_to_line(), col_to); - text_editor->cursor_set_column(cursor_pos); + text_editor->set_caret_column(cursor_pos); } else { - int begin = text_editor->cursor_get_line(); + int begin = text_editor->get_caret_line(); String line_text = text_editor->get_line(begin); int delimiter_length = delimiter.length(); - int col = text_editor->cursor_get_column(); + int col = text_editor->get_caret_column(); if (line_text.begins_with(delimiter)) { line_text = line_text.substr(delimiter_length, line_text.length()); col -= delimiter_length; @@ -1407,7 +1403,7 @@ void CodeTextEditor::toggle_inline_comment(const String &delimiter) { } text_editor->set_line(begin, line_text); - text_editor->cursor_set_column(col); + text_editor->set_caret_column(col); } text_editor->end_complex_operation(); text_editor->update(); @@ -1428,7 +1424,7 @@ void CodeTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) { void CodeTextEditor::goto_line_centered(int p_line) { goto_line(p_line); - text_editor->call_deferred(SNAME("center_viewport_to_cursor")); + text_editor->call_deferred(SNAME("center_viewport_to_caret")); } void CodeTextEditor::set_executing_line(int p_line) { @@ -1444,11 +1440,11 @@ Variant CodeTextEditor::get_edit_state() { state["scroll_position"] = text_editor->get_v_scroll(); state["h_scroll_position"] = text_editor->get_h_scroll(); - state["column"] = text_editor->cursor_get_column(); - state["row"] = text_editor->cursor_get_line(); + state["column"] = text_editor->get_caret_column(); + state["row"] = text_editor->get_caret_line(); - state["selection"] = get_text_editor()->is_selection_active(); - if (get_text_editor()->is_selection_active()) { + state["selection"] = get_text_editor()->has_selection(); + if (get_text_editor()->has_selection()) { state["selection_from_line"] = text_editor->get_selection_from_line(); state["selection_from_column"] = text_editor->get_selection_from_column(); state["selection_to_line"] = text_editor->get_selection_to_line(); @@ -1469,8 +1465,8 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) { Dictionary state = p_state; /* update the row first as it sets the column to 0 */ - text_editor->cursor_set_line(state["row"]); - text_editor->cursor_set_column(state["column"]); + text_editor->set_caret_line(state["row"]); + text_editor->set_caret_column(state["column"]); text_editor->set_v_scroll(state["scroll_position"]); text_editor->set_h_scroll(state["h_scroll_position"]); @@ -1517,47 +1513,19 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) { void CodeTextEditor::goto_error() { if (error->get_text() != "") { text_editor->unfold_line(error_line); - text_editor->cursor_set_line(error_line); - text_editor->cursor_set_column(error_column); - text_editor->center_viewport_to_cursor(); + text_editor->set_caret_line(error_line); + text_editor->set_caret_column(error_column); + text_editor->center_viewport_to_caret(); } } void CodeTextEditor::_update_text_editor_theme() { - text_editor->add_theme_color_override("background_color", EDITOR_GET("text_editor/highlighting/background_color")); - text_editor->add_theme_color_override("completion_background_color", EDITOR_GET("text_editor/highlighting/completion_background_color")); - text_editor->add_theme_color_override("completion_selected_color", EDITOR_GET("text_editor/highlighting/completion_selected_color")); - text_editor->add_theme_color_override("completion_existing_color", EDITOR_GET("text_editor/highlighting/completion_existing_color")); - text_editor->add_theme_color_override("completion_scroll_color", EDITOR_GET("text_editor/highlighting/completion_scroll_color")); - text_editor->add_theme_color_override("completion_font_color", EDITOR_GET("text_editor/highlighting/completion_font_color")); - text_editor->add_theme_color_override("font_color", EDITOR_GET("text_editor/highlighting/text_color")); - text_editor->add_theme_color_override("line_number_color", EDITOR_GET("text_editor/highlighting/line_number_color")); - text_editor->add_theme_color_override("caret_color", EDITOR_GET("text_editor/highlighting/caret_color")); - text_editor->add_theme_color_override("caret_background_color", EDITOR_GET("text_editor/highlighting/caret_background_color")); - text_editor->add_theme_color_override("font_selected_color", EDITOR_GET("text_editor/highlighting/text_selected_color")); - text_editor->add_theme_color_override("selection_color", EDITOR_GET("text_editor/highlighting/selection_color")); - text_editor->add_theme_color_override("brace_mismatch_color", EDITOR_GET("text_editor/highlighting/brace_mismatch_color")); - text_editor->add_theme_color_override("current_line_color", EDITOR_GET("text_editor/highlighting/current_line_color")); - text_editor->add_theme_color_override("line_length_guideline_color", EDITOR_GET("text_editor/highlighting/line_length_guideline_color")); - text_editor->add_theme_color_override("word_highlighted_color", EDITOR_GET("text_editor/highlighting/word_highlighted_color")); - text_editor->add_theme_color_override("bookmark_color", EDITOR_GET("text_editor/highlighting/bookmark_color")); - text_editor->add_theme_color_override("breakpoint_color", EDITOR_GET("text_editor/highlighting/breakpoint_color")); - text_editor->add_theme_color_override("executing_line_color", EDITOR_GET("text_editor/highlighting/executing_line_color")); - text_editor->add_theme_color_override("code_folding_color", EDITOR_GET("text_editor/highlighting/code_folding_color")); - text_editor->add_theme_color_override("search_result_color", EDITOR_GET("text_editor/highlighting/search_result_color")); - text_editor->add_theme_color_override("search_result_border_color", EDITOR_GET("text_editor/highlighting/search_result_border_color")); - text_editor->add_theme_constant_override("line_spacing", EDITOR_DEF("text_editor/theme/line_spacing", 6)); emit_signal(SNAME("load_theme_settings")); - _load_theme_settings(); -} - -void CodeTextEditor::_update_font() { - text_editor->add_theme_font_override("font", get_theme_font(SNAME("source"), SNAME("EditorFonts"))); - text_editor->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), SNAME("EditorFonts"))); - error->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); - error->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); - error->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); + error->begin_bulk_theme_override(); + error->add_theme_font_override(SNAME("font"), get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); + error->add_theme_font_size_override(SNAME("font_size"), get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); + error->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("error_color"), SNAME("Editor"))); Ref<Font> status_bar_font = get_theme_font(SNAME("status_source"), SNAME("EditorFonts")); int status_bar_font_size = get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")); @@ -1571,6 +1539,7 @@ void CodeTextEditor::_update_font() { n->add_theme_font_size_override("font_size", status_bar_font_size); } } + error->end_bulk_theme_override(); } void CodeTextEditor::_on_settings_change() { @@ -1586,7 +1555,6 @@ void CodeTextEditor::_apply_settings_change() { settings_changed = false; _update_text_editor_theme(); - _update_font(); font_size = EditorSettings::get_singleton()->get("interface/editor/code_font_size"); @@ -1672,7 +1640,6 @@ void CodeTextEditor::_notification(int p_what) { update_toggle_scripts_button(); } _update_text_editor_theme(); - _update_font(); } break; case NOTIFICATION_ENTER_TREE: { error_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); @@ -1712,7 +1679,7 @@ void CodeTextEditor::set_warning_count(int p_warning_count) { } void CodeTextEditor::toggle_bookmark() { - int line = text_editor->cursor_get_line(); + int line = text_editor->get_caret_line(); text_editor->set_line_as_bookmarked(line, !text_editor->is_line_bookmarked(line)); } @@ -1722,18 +1689,18 @@ void CodeTextEditor::goto_next_bookmark() { return; } - int line = text_editor->cursor_get_line(); + int line = text_editor->get_caret_line(); if (line >= (int)bmarks[bmarks.size() - 1]) { text_editor->unfold_line(bmarks[0]); - text_editor->cursor_set_line(bmarks[0]); - text_editor->center_viewport_to_cursor(); + text_editor->set_caret_line(bmarks[0]); + text_editor->center_viewport_to_caret(); } else { for (int i = 0; i < bmarks.size(); i++) { int bmark_line = bmarks[i]; if (bmark_line > line) { text_editor->unfold_line(bmark_line); - text_editor->cursor_set_line(bmark_line); - text_editor->center_viewport_to_cursor(); + text_editor->set_caret_line(bmark_line); + text_editor->center_viewport_to_caret(); return; } } @@ -1746,18 +1713,18 @@ void CodeTextEditor::goto_prev_bookmark() { return; } - int line = text_editor->cursor_get_line(); + int line = text_editor->get_caret_line(); if (line <= (int)bmarks[0]) { text_editor->unfold_line(bmarks[bmarks.size() - 1]); - text_editor->cursor_set_line(bmarks[bmarks.size() - 1]); - text_editor->center_viewport_to_cursor(); + text_editor->set_caret_line(bmarks[bmarks.size() - 1]); + text_editor->center_viewport_to_caret(); } else { for (int i = bmarks.size(); i >= 0; i--) { int bmark_line = bmarks[i]; if (bmark_line < line) { text_editor->unfold_line(bmark_line); - text_editor->cursor_set_line(bmark_line); - text_editor->center_viewport_to_cursor(); + text_editor->set_caret_line(bmark_line); + text_editor->center_viewport_to_caret(); return; } } @@ -1913,7 +1880,7 @@ CodeTextEditor::CodeTextEditor() { line_and_col_txt->set_mouse_filter(MOUSE_FILTER_STOP); text_editor->connect("gui_input", callable_mp(this, &CodeTextEditor::_text_editor_gui_input)); - text_editor->connect("cursor_changed", callable_mp(this, &CodeTextEditor::_line_col_changed)); + text_editor->connect("caret_changed", callable_mp(this, &CodeTextEditor::_line_col_changed)); text_editor->connect("text_changed", callable_mp(this, &CodeTextEditor::_text_changed)); text_editor->connect("request_code_completion", callable_mp(this, &CodeTextEditor::_complete_request)); TypedArray<String> cs; diff --git a/editor/code_editor.h b/editor/code_editor.h index 4cd4880df0..ee8f4366dd 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -168,7 +168,6 @@ class CodeTextEditor : public VBoxContainer { void _apply_settings_change(); void _update_text_editor_theme(); - void _update_font(); void _complete_request(); Ref<Texture2D> _get_completion_icon(const ScriptCodeCompletionOption &p_option); void _font_resize_timeout(); diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 3389b53317..eeab0fc2f5 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -359,6 +359,8 @@ void CreateDialog::_sbox_input(const Ref<InputEvent> &p_ie) { search_options->call("_gui_input", k); search_box->accept_event(); } break; + default: + break; } } } diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp new file mode 100644 index 0000000000..bffd0655a7 --- /dev/null +++ b/editor/editor_command_palette.cpp @@ -0,0 +1,302 @@ +/*************************************************************************/ +/* editor_command_palette.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#include "editor/editor_command_palette.h" +#include "core/os/keyboard.h" +#include "editor/editor_node.h" +#include "editor/editor_scale.h" +#include "scene/gui/control.h" +#include "scene/gui/tree.h" + +EditorCommandPalette *EditorCommandPalette::singleton = nullptr; + +float EditorCommandPalette::_score_path(const String &p_search, const String &p_path) { + float score = 0.9f + .1f * (p_search.length() / (float)p_path.length()); + + // Positive bias for matches close to the beginning of the file name. + int pos = p_path.findn(p_search); + if (pos != -1) { + return score * (1.0f - 0.1f * (float(pos) / p_path.length())); + } + + // Positive bias for matches close to the end of the path. + pos = p_path.rfindn(p_search); + if (pos != -1) { + return score * (0.8f - 0.1f * (float(p_path.length() - pos) / p_path.length())); + } + + // Remaining results belong to the same class of results. + return score * 0.69f; +} + +void EditorCommandPalette::_update_command_search(const String &search_text) { + commands.get_key_list(&command_keys); + ERR_FAIL_COND(command_keys.is_empty()); + + const bool empty_search = search_text.is_empty(); + Map<String, TreeItem *> sections; + TreeItem *first_section = nullptr; + + // Filter possible candidates. + Vector<CommandEntry> entries; + for (int i = 0; i < command_keys.size(); i++) { + CommandEntry r; + r.key_name = command_keys[i]; + r.display_name = commands[r.key_name].name; + r.shortcut_text = commands[r.key_name].shortcut; + if (!empty_search && search_text.is_subsequence_ofi(r.display_name)) { + r.score = _score_path(search_text, r.display_name.to_lower()); + entries.push_back(r); + } + } + + command_keys.clear(); + + TreeItem *root = search_options->get_root(); + root->clear_children(); + + if (entries.size() > 0) { + if (!empty_search) { + SortArray<CommandEntry, CommandEntryComparator> sorter; + sorter.sort(entries.ptrw(), entries.size()); + } + + const int entry_limit = MIN(entries.size(), 300); + for (int i = 0; i < entry_limit; i++) { + String section_name = entries[i].key_name.get_slice("/", 0); + TreeItem *section; + + if (sections.has(section_name)) { + section = sections[section_name]; + } else { + section = search_options->create_item(root); + + if (!first_section) { + first_section = section; + } + + String item_name = section_name.capitalize(); + section->set_text(0, item_name); + + sections[section_name] = section; + section->set_custom_bg_color(0, search_options->get_theme_color("prop_subsection", "Editor")); + section->set_custom_bg_color(1, search_options->get_theme_color("prop_subsection", "Editor")); + } + + TreeItem *ti = search_options->create_item(section); + String shortcut_text = entries[i].shortcut_text == "None" ? "" : entries[i].shortcut_text; + ti->set_text(0, entries[i].display_name); + ti->set_metadata(0, entries[i].key_name); + ti->set_text_align(1, TreeItem::TextAlign::ALIGN_RIGHT); + ti->set_text(1, shortcut_text); + Color c = Color(1, 1, 1, 0.5); + ti->set_custom_color(1, c); + } + + TreeItem *to_select = first_section->get_first_child(); + to_select->select(0); + to_select->set_as_cursor(0); + search_options->scroll_to_item(to_select); + + get_ok_button()->set_disabled(false); + } else { + TreeItem *ti = search_options->create_item(root); + ti->set_text(0, TTR("No Matching Command")); + ti->set_metadata(0, ""); + Color c = Color(0.5, 0.5, 0.5, 0.5); + ti->set_custom_color(0, c); + search_options->deselect_all(); + + get_ok_button()->set_disabled(true); + } +} + +void EditorCommandPalette::_bind_methods() { + ClassDB::bind_method(D_METHOD("add_command", "command_name", "key_name", "binded_callable", "shortcut_text"), &EditorCommandPalette::_add_command, DEFVAL("None")); + ClassDB::bind_method(D_METHOD("remove_command", "key_name"), &EditorCommandPalette::remove_command); +} + +void EditorCommandPalette::_sbox_input(const Ref<InputEvent> &p_ie) { + Ref<InputEventKey> k = p_ie; + if (k.is_valid()) { + switch (k->get_keycode()) { + case KEY_UP: + case KEY_DOWN: + case KEY_PAGEUP: + case KEY_PAGEDOWN: { + search_options->call("_gui_input", k); + } break; + default: + break; + } + } +} + +void EditorCommandPalette::_confirmed() { + TreeItem *selected_option = search_options->get_selected(); + String command_key = selected_option != nullptr ? selected_option->get_metadata(0) : ""; + if (command_key != "") { + hide(); + execute_command(command_key); + } +} + +void EditorCommandPalette::open_popup() { + popup_centered_clamped(Size2i(600, 440), 0.8f); + command_search_box->clear(); + command_search_box->grab_focus(); +} + +void EditorCommandPalette::get_actions_list(List<String> *p_list) const { + commands.get_key_list(p_list); +} + +void EditorCommandPalette::remove_command(String p_key_name) { + ERR_FAIL_COND_MSG(!commands.has(p_key_name), "The EditorAction '" + String(p_key_name) + "' Doesn't exists. Unable to remove it."); + + commands.erase(p_key_name); +} + +void EditorCommandPalette::add_command(String p_command_name, String p_key_name, Callable p_action, Vector<Variant> arguments, String p_shortcut_text) { + ERR_FAIL_COND_MSG(commands.has(p_key_name), "The EditorAction '" + String(p_command_name) + "' already exists. Unable to add it."); + + const Variant **argptrs = (const Variant **)alloca(sizeof(Variant *) * arguments.size()); + for (int i = 0; i < arguments.size(); i++) { + argptrs[i] = &arguments[i]; + } + Command p_command; + p_command.name = p_command_name; + p_command.callable = p_action.bind(argptrs, arguments.size()); + p_command.shortcut = p_shortcut_text; + + commands[p_key_name] = p_command; +} + +void EditorCommandPalette::_add_command(String p_command_name, String p_key_name, Callable p_binded_action, String p_shortcut_text) { + ERR_FAIL_COND_MSG(commands.has(p_key_name), "The EditorAction '" + String(p_command_name) + "' already exists. Unable to add it."); + + Command p_command; + p_command.name = p_command_name; + p_command.callable = p_binded_action; + p_command.shortcut = p_shortcut_text; + + commands[p_key_name] = p_command; +} + +void EditorCommandPalette::execute_command(String &p_command_key) { + ERR_FAIL_COND_MSG(!commands.has(p_command_key), p_command_key + " not found."); + commands[p_command_key].callable.call_deferred(nullptr, 0); +} + +void EditorCommandPalette::register_shortcuts_as_command() { + const String *p_key = nullptr; + p_key = unregistered_shortcuts.next(p_key); + while (p_key != nullptr) { + String command_name = unregistered_shortcuts[*p_key].first; + Ref<Shortcut> p_shortcut = unregistered_shortcuts[*p_key].second; + Ref<InputEventShortcut> ev; + ev.instantiate(); + ev->set_shortcut(p_shortcut); + String shortcut_text = String(p_shortcut->get_as_text()); + add_command(command_name, *p_key, callable_mp(EditorNode::get_singleton()->get_viewport(), &Viewport::unhandled_input), varray(ev, false), shortcut_text); + p_key = unregistered_shortcuts.next(p_key); + } + unregistered_shortcuts.clear(); +} + +Ref<Shortcut> EditorCommandPalette::add_shortcut_command(const String &p_command, const String &p_key, Ref<Shortcut> p_shortcut) { + if (is_inside_tree()) { + Ref<InputEventShortcut> ev; + ev.instantiate(); + ev->set_shortcut(p_shortcut); + String shortcut_text = String(p_shortcut->get_as_text()); + add_command(p_command, p_key, callable_mp(EditorNode::get_singleton()->get_viewport(), &Viewport::unhandled_input), varray(ev, false), shortcut_text); + } else { + const String key_name = String(p_key); + const String command_name = String(p_command); + Pair p_pair = Pair(command_name, p_shortcut); + unregistered_shortcuts[key_name] = p_pair; + } + return p_shortcut; +} + +void EditorCommandPalette::_theme_changed() { + command_search_box->set_right_icon(search_options->get_theme_icon("Search", "EditorIcons")); +} + +EditorCommandPalette *EditorCommandPalette::get_singleton() { + if (singleton == nullptr) { + singleton = memnew(EditorCommandPalette); + } + return singleton; +} + +EditorCommandPalette::EditorCommandPalette() { + VBoxContainer *vbc = memnew(VBoxContainer); + vbc->connect("theme_changed", callable_mp(this, &EditorCommandPalette::_theme_changed)); + add_child(vbc); + + command_search_box = memnew(LineEdit); + command_search_box->set_placeholder("search for a command"); + command_search_box->set_placeholder_alpha(0.5); + command_search_box->connect("gui_input", callable_mp(this, &EditorCommandPalette::_sbox_input)); + command_search_box->connect("text_changed", callable_mp(this, &EditorCommandPalette::_update_command_search)); + command_search_box->connect("text_submitted", callable_mp(this, &EditorCommandPalette::_confirmed).unbind(1)); + command_search_box->set_v_size_flags(Control::SIZE_EXPAND_FILL); + MarginContainer *margin_container_csb = memnew(MarginContainer); + margin_container_csb->add_child(command_search_box); + vbc->add_child(margin_container_csb); + register_text_enter(command_search_box); + + search_options = memnew(Tree); + search_options->connect("item_activated", callable_mp(this, &EditorCommandPalette::_confirmed)); + search_options->create_item(); + search_options->set_hide_root(true); + search_options->set_hide_folding(true); + search_options->add_theme_constant_override("draw_guides", 1); + search_options->set_columns(2); + search_options->set_v_size_flags(Control::SIZE_EXPAND_FILL); + search_options->set_h_size_flags(Control::SIZE_EXPAND_FILL); + search_options->set_column_custom_minimum_width(0, int(8 * EDSCALE)); + + vbc->add_child(search_options, true); + + set_hide_on_ok(false); +} + +Ref<Shortcut> ED_SHORTCUT_AND_COMMAND(const String &p_path, const String &p_name, Key p_keycode, String p_command_name) { + if (p_command_name.is_empty()) { + p_command_name = p_name; + } + + Ref<Shortcut> p_shortcut = ED_SHORTCUT(p_path, p_name, p_keycode); + EditorCommandPalette::get_singleton()->add_shortcut_command(p_command_name, p_path, p_shortcut); + return p_shortcut; +} diff --git a/editor/editor_command_palette.h b/editor/editor_command_palette.h new file mode 100644 index 0000000000..cfd8b964c8 --- /dev/null +++ b/editor/editor_command_palette.h @@ -0,0 +1,95 @@ +/*************************************************************************/ +/* editor_command_palette.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#ifndef EDITOR_COMMAND_PALETTE_H +#define EDITOR_COMMAND_PALETTE_H + +#include "core/os/thread_safe.h" +#include "scene/gui/dialogs.h" +#include "scene/gui/shortcut.h" +#include "scene/gui/tree.h" + +class EditorCommandPalette : public ConfirmationDialog { + GDCLASS(EditorCommandPalette, ConfirmationDialog); + + static EditorCommandPalette *singleton; + LineEdit *command_search_box; + Tree *search_options; + + struct Command { + Callable callable; + String name; + String shortcut; + }; + + struct CommandEntry { + String key_name; + String display_name; + String shortcut_text; + float score; + }; + + struct CommandEntryComparator { + _FORCE_INLINE_ bool operator()(const CommandEntry &A, const CommandEntry &B) const { + return A.score > B.score; + } + }; + + HashMap<String, Command> commands; + HashMap<String, Pair<String, Ref<Shortcut>>> unregistered_shortcuts; + + List<String> command_keys; + + void _update_command_search(const String &search_text); + float _score_path(const String &p_search, const String &p_path); + void _sbox_input(const Ref<InputEvent> &p_ie); + void _confirmed(); + void _update_command_keys(); + void _add_command(String p_command_name, String p_key_name, Callable p_binded_action, String p_shortcut_text = "None"); + void _theme_changed(); + EditorCommandPalette(); + +protected: + static void _bind_methods(); + +public: + void open_popup(); + void get_actions_list(List<String> *p_list) const; + void add_command(String p_command_name, String p_key_name, Callable p_action, Vector<Variant> arguments, String p_shortcut_text = "None"); + void execute_command(String &p_command_name); + void register_shortcuts_as_command(); + Ref<Shortcut> add_shortcut_command(const String &p_command, const String &p_key, Ref<Shortcut> p_shortcut); + void remove_command(String p_key_name); + static EditorCommandPalette *get_singleton(); +}; + +Ref<Shortcut> ED_SHORTCUT_AND_COMMAND(const String &p_path, const String &p_name, Key p_keycode = KEY_NONE, String p_command = ""); + +#endif //EDITOR_COMMAND_PALETTE_H diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp index 72a0c353e8..84a9237a96 100644 --- a/editor/editor_feature_profile.cpp +++ b/editor/editor_feature_profile.cpp @@ -563,7 +563,7 @@ void EditorFeatureProfileManager::_class_list_item_selected() { int feature_id = md; String feature_description = EditorFeatureProfile::get_feature_description(EditorFeatureProfile::Feature(feature_id)); - description_bit->set_text(feature_description); + description_bit->set_text(TTRGET(feature_description)); return; } else { return; diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index 57f0345dad..2b5eee4c1f 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -74,6 +74,8 @@ void EditorHelpSearch::_search_box_gui_input(const Ref<InputEvent> &p_event) { results_tree->call("_gui_input", key); search_box->accept_event(); } break; + default: + break; } } } diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index d7b7e8e52d..9de8b0451a 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -887,7 +887,7 @@ Control *EditorProperty::make_custom_tooltip(const String &p_text) const { text += "\n" + property_doc; } } - help_bit->set_text(text); + help_bit->call_deferred(SNAME("set_text"), text); //hack so it uses proper theme once inside scene } return help_bit; @@ -1102,7 +1102,7 @@ Control *EditorInspectorCategory::make_custom_tooltip(const String &p_text) cons text += "\n" + property_doc; } } - help_bit->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; @@ -1907,8 +1907,7 @@ void EditorInspector::update_tree() { } Vector<String> slices = propname.operator String().split("/"); - if (slices.size() == 2 && slices[0].begins_with("custom_")) { - // Likely a theme property. + if (slices.size() == 2 && slices[0].begins_with("theme_override_")) { for (int i = 0; i < F->get().theme_properties.size(); i++) { if (F->get().theme_properties[i].name == slices[1]) { descr = DTR(F->get().theme_properties[i].description); diff --git a/editor/editor_layouts_dialog.cpp b/editor/editor_layouts_dialog.cpp index 0c8660c216..b1f8ba5d20 100644 --- a/editor/editor_layouts_dialog.cpp +++ b/editor/editor_layouts_dialog.cpp @@ -58,6 +58,8 @@ void EditorLayoutsDialog::_line_gui_input(const Ref<InputEvent> &p_event) { hide(); set_input_as_handled(); } break; + default: + break; } } } diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 2cb73664f5..296a33d917 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -397,7 +397,7 @@ EditorLog::EditorLog() { show_search_button->set_focus_mode(FOCUS_NONE); show_search_button->set_toggle_mode(true); show_search_button->set_pressed(true); - show_search_button->set_shortcut(ED_SHORTCUT("editor/open_search", TTR("Open the search box."), KEY_MASK_CMD | KEY_F)); + show_search_button->set_shortcut(ED_SHORTCUT("editor/open_search", TTR("Focus Search/Filter Bar"), KEY_MASK_CMD | KEY_F)); show_search_button->set_shortcut_context(this); show_search_button->connect("toggled", callable_mp(this, &EditorLog::_set_search_visible)); hb_tools2->add_child(show_search_button); diff --git a/editor/editor_native_shader_source_visualizer.cpp b/editor/editor_native_shader_source_visualizer.cpp index ed2692190c..f98ac5af79 100644 --- a/editor/editor_native_shader_source_visualizer.cpp +++ b/editor/editor_native_shader_source_visualizer.cpp @@ -51,7 +51,7 @@ void EditorNativeShaderSourceVisualizer::_inspect_shader(RID p_shader) { versions->add_child(vtab); for (int j = 0; j < nsc.versions[i].stages.size(); j++) { TextEdit *vtext = memnew(TextEdit); - vtext->set_readonly(true); + vtext->set_editable(false); vtext->set_name(nsc.versions[i].stages[j].name); vtext->set_text(nsc.versions[i].stages[j].code); vtext->set_v_size_flags(Control::SIZE_EXPAND_FILL); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 78500ab16c..19a6d027bc 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -75,6 +75,7 @@ #include "editor/dependency_editor.h" #include "editor/editor_about.h" #include "editor/editor_audio_buses.h" +#include "editor/editor_command_palette.h" #include "editor/editor_export.h" #include "editor/editor_feature_profile.h" #include "editor/editor_file_system.h" @@ -404,7 +405,7 @@ void EditorNode::_unhandled_input(const Ref<InputEvent> &p_event) { ERR_FAIL_COND(p_event.is_null()); Ref<InputEventKey> k = p_event; - if (k.is_valid() && k->is_pressed() && !k->is_echo()) { + if ((k.is_valid() && k->is_pressed() && !k->is_echo()) || Object::cast_to<InputEventShortcut>(*p_event)) { EditorPlugin *old_editor = editor_plugin_screen; if (ED_IS_SHORTCUT("editor/next_tab", p_event)) { @@ -435,6 +436,9 @@ void EditorNode::_unhandled_input(const Ref<InputEvent> &p_event) { _editor_select_next(); } else if (ED_IS_SHORTCUT("editor/editor_prev", p_event)) { _editor_select_prev(); + } else if (ED_IS_SHORTCUT("editor/command_palette", p_event)) { + _open_command_palette(); + } else { } if (old_editor != editor_plugin_screen) { @@ -565,13 +569,15 @@ void EditorNode::_notification(int p_what) { Engine::get_singleton()->set_editor_hint(true); OS::get_singleton()->set_low_processor_usage_mode_sleep_usec(int(EDITOR_GET("interface/editor/low_processor_mode_sleep_usec"))); - get_tree()->get_root()->set_as_audio_listener(false); + get_tree()->get_root()->set_as_audio_listener_3d(false); get_tree()->get_root()->set_as_audio_listener_2d(false); get_tree()->get_root()->set_snap_2d_transforms_to_pixel(false); get_tree()->get_root()->set_snap_2d_vertices_to_pixel(false); get_tree()->set_auto_accept_quit(false); get_tree()->get_root()->connect("files_dropped", callable_mp(this, &EditorNode::_dropped_files)); + command_palette->register_shortcuts_as_command(); + /* DO NOT LOAD SCENES HERE, WAIT FOR FILE SCANNING AND REIMPORT TO COMPLETE */ } break; @@ -607,8 +613,10 @@ void EditorNode::_notification(int p_what) { _editor_select(EDITOR_3D); } - // Save the project after opening to mark it as last modified. - ProjectSettings::get_singleton()->save(); + // Save the project after opening to mark it as last modified, except in headless mode. + if (DisplayServer::get_singleton()->window_can_draw()) { + ProjectSettings::get_singleton()->save(); + } /* DO NOT LOAD SCENES HERE, WAIT FOR FILE SCANNING AND REIMPORT TO COMPLETE */ } break; @@ -1063,6 +1071,10 @@ void EditorNode::_editor_select_next() { _editor_select(editor); } +void EditorNode::_open_command_palette() { + command_palette->open_popup(); +} + void EditorNode::_editor_select_prev() { int editor = _get_current_main_editor(); @@ -1596,7 +1608,9 @@ static void _reset_animation_players(Node *p_node, List<Ref<AnimatedValuesBackup AnimationPlayer *player = Object::cast_to<AnimationPlayer>(p_node->get_child(i)); if (player && player->is_reset_on_save_enabled() && player->can_apply_reset()) { Ref<AnimatedValuesBackup> old_values = player->apply_reset(); - r_anim_backups->push_back(old_values); + if (old_values.is_valid()) { + r_anim_backups->push_back(old_values); + } } _reset_animation_players(p_node->get_child(i), r_anim_backups); } @@ -2815,6 +2829,9 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { case HELP_SEARCH: { emit_signal(SNAME("request_help_search"), ""); } break; + case HELP_COMMAND_PALETTE: { + command_palette->open_popup(); + } break; case HELP_DOCS: { OS::get_singleton()->shell_open("https://docs.godotengine.org/"); } break; @@ -3802,6 +3819,7 @@ void EditorNode::register_editor_types() { // FIXME: Is this stuff obsolete, or should it be ported to new APIs? GDREGISTER_CLASS(EditorScenePostImport); //ClassDB::register_type<EditorImportExport>(); + GDREGISTER_CLASS(EditorCommandPalette); GDREGISTER_CLASS(EditorDebuggerPlugin); NativeExtensionManager::get_singleton()->initialize_extensions(NativeExtension::INITIALIZATION_LEVEL_EDITOR); @@ -4944,6 +4962,16 @@ void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { scene_tabs_context_menu->set_position(mb->get_global_position()); scene_tabs_context_menu->popup(); } + if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP && mb->is_pressed()) { + int previous_tab = editor_data.get_edited_scene() - 1; + previous_tab = previous_tab >= 0 ? previous_tab : editor_data.get_edited_scene_count() - 1; + _scene_tab_changed(previous_tab); + } + if (mb->get_button_index() == MOUSE_BUTTON_WHEEL_DOWN && mb->is_pressed()) { + int next_tab = editor_data.get_edited_scene() + 1; + next_tab %= editor_data.get_edited_scene_count(); + _scene_tab_changed(next_tab); + } } } @@ -6119,9 +6147,9 @@ EditorNode::EditorNode() { distraction_free = memnew(Button); distraction_free->set_flat(true); #ifdef OSX_ENABLED - distraction_free->set_shortcut(ED_SHORTCUT("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_D)); + distraction_free->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_D)); #else - distraction_free->set_shortcut(ED_SHORTCUT("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F11)); + distraction_free->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F11)); #endif distraction_free->set_tooltip(TTR("Toggle distraction-free mode.")); distraction_free->connect("pressed", callable_mp(this, &EditorNode::_toggle_distraction_free_mode)); @@ -6212,31 +6240,36 @@ EditorNode::EditorNode() { gui_base->add_child(warning); warning->connect("custom_action", callable_mp(this, &EditorNode::_copy_warning)); - ED_SHORTCUT("editor/next_tab", TTR("Next tab"), KEY_MASK_CMD + KEY_TAB); - ED_SHORTCUT("editor/prev_tab", TTR("Previous tab"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_TAB); - ED_SHORTCUT("editor/filter_files", TTR("Filter Files..."), KEY_MASK_CMD + KEY_MASK_ALT + KEY_P); + ED_SHORTCUT("editor/next_tab", TTR("Next Scene Tab"), KEY_MASK_CMD + KEY_TAB); + ED_SHORTCUT("editor/prev_tab", TTR("Previous Scene Tab"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_TAB); + ED_SHORTCUT("editor/filter_files", TTR("Focus FileSystem Filter"), KEY_MASK_CMD + KEY_MASK_ALT + KEY_P); + + command_palette = EditorCommandPalette::get_singleton(); + command_palette->set_title(TTR("Command Palette")); + gui_base->add_child(command_palette); + PopupMenu *p; file_menu->set_tooltip(TTR("Operations with scene files.")); p = file_menu->get_popup(); - p->add_shortcut(ED_SHORTCUT("editor/new_scene", TTR("New Scene"), KEY_MASK_CMD + KEY_N), FILE_NEW_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/new_inherited_scene", TTR("New Inherited Scene..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_N), FILE_NEW_INHERITED_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/open_scene", TTR("Open Scene..."), KEY_MASK_CMD + KEY_O), FILE_OPEN_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_T), FILE_OPEN_PREV); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_scene", TTR("New Scene"), KEY_MASK_CMD + KEY_N), FILE_NEW_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_N), FILE_NEW_INHERITED_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KEY_MASK_CMD + KEY_O), FILE_OPEN_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_T), FILE_OPEN_PREV); p->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("editor/save_scene", TTR("Save Scene"), KEY_MASK_CMD + KEY_S), FILE_SAVE_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/save_scene_as", TTR("Save Scene As..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_S), FILE_SAVE_AS_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/save_all_scenes", TTR("Save All Scenes"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_S), FILE_SAVE_ALL_SCENES); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KEY_MASK_CMD + KEY_S), FILE_SAVE_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene_as", TTR("Save Scene As..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_S), FILE_SAVE_AS_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_all_scenes", TTR("Save All Scenes"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_S), FILE_SAVE_ALL_SCENES); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("editor/quick_open", TTR("Quick Open..."), KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_O), FILE_QUICK_OPEN); - p->add_shortcut(ED_SHORTCUT("editor/quick_open_scene", TTR("Quick Open Scene..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_O), FILE_QUICK_OPEN_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/quick_open_script", TTR("Quick Open Script..."), KEY_MASK_CMD + KEY_MASK_ALT + KEY_O), FILE_QUICK_OPEN_SCRIPT); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open", TTR("Quick Open..."), KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_O), FILE_QUICK_OPEN); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_scene", TTR("Quick Open Scene..."), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_O), FILE_QUICK_OPEN_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_script", TTR("Quick Open Script..."), KEY_MASK_CMD + KEY_MASK_ALT + KEY_O), FILE_QUICK_OPEN_SCRIPT); p->add_separator(); PopupMenu *pm_export = memnew(PopupMenu); @@ -6251,8 +6284,8 @@ EditorNode::EditorNode() { p->add_shortcut(ED_GET_SHORTCUT("ui_redo"), EDIT_REDO, true); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE); - p->add_shortcut(ED_SHORTCUT("editor/close_scene", TTR("Close Scene"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_W), FILE_CLOSE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_W), FILE_CLOSE); recent_scenes = memnew(PopupMenu); recent_scenes->set_name("RecentScenes"); @@ -6260,7 +6293,7 @@ EditorNode::EditorNode() { recent_scenes->connect("id_pressed", callable_mp(this, &EditorNode::_open_recent_scene)); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("editor/file_quit", TTR("Quit"), KEY_MASK_CMD + KEY_Q), FILE_QUIT, true); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/file_quit", TTR("Quit"), KEY_MASK_CMD + KEY_Q), FILE_QUIT, true); project_menu = memnew(MenuButton); project_menu->set_flat(false); @@ -6272,7 +6305,7 @@ EditorNode::EditorNode() { p = project_menu->get_popup(); - p->add_shortcut(ED_SHORTCUT("editor/project_settings", TTR("Project Settings...")), RUN_SETTINGS); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/project_settings", TTR("Project Settings..."), KEY_NONE, TTR("Project Settings")), RUN_SETTINGS); p->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option)); vcs_actions_menu = VersionControlEditorPlugin::get_singleton()->get_version_control_actions_panel(); @@ -6285,7 +6318,7 @@ EditorNode::EditorNode() { vcs_actions_menu->add_item(TTR("Shut Down Version Control"), RUN_VCS_SHUT_DOWN); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("editor/export", TTR("Export...")), FILE_EXPORT_PROJECT); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/export", TTR("Export..."), KEY_NONE, TTR("Export")), FILE_EXPORT_PROJECT); p->add_item(TTR("Install Android Build Template..."), FILE_INSTALL_ANDROID_SOURCE); p->add_item(TTR("Open Project Data Folder"), RUN_PROJECT_DATA_FOLDER); @@ -6303,9 +6336,9 @@ EditorNode::EditorNode() { p->add_separator(); p->add_shortcut(ED_SHORTCUT("editor/reload_current_project", TTR("Reload Current Project")), RUN_RELOAD_CURRENT_PROJECT); #ifdef OSX_ENABLED - p->add_shortcut(ED_SHORTCUT("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_Q), RUN_PROJECT_MANAGER, true); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_Q), RUN_PROJECT_MANAGER, true); #else - p->add_shortcut(ED_SHORTCUT("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_Q), RUN_PROJECT_MANAGER, true); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_Q), RUN_PROJECT_MANAGER, true); #endif menu_hb->add_spacer(); @@ -6332,9 +6365,9 @@ EditorNode::EditorNode() { p = settings_menu->get_popup(); #ifdef OSX_ENABLED - p->add_shortcut(ED_SHORTCUT("editor/editor_settings", TTR("Editor Settings..."), KEY_MASK_CMD + KEY_COMMA), SETTINGS_PREFERENCES); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings..."), KEY_MASK_CMD + KEY_COMMA), SETTINGS_PREFERENCES); #else - p->add_shortcut(ED_SHORTCUT("editor/editor_settings", TTR("Editor Settings...")), SETTINGS_PREFERENCES); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings...")), SETTINGS_PREFERENCES); #endif p->add_separator(); @@ -6345,15 +6378,15 @@ EditorNode::EditorNode() { p->add_submenu_item(TTR("Editor Layout"), "Layouts"); p->add_separator(); #ifdef OSX_ENABLED - p->add_shortcut(ED_SHORTCUT("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CMD | KEY_F12), EDITOR_SCREENSHOT); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CMD | KEY_F12), EDITOR_SCREENSHOT); #else - p->add_shortcut(ED_SHORTCUT("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12), EDITOR_SCREENSHOT); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12), EDITOR_SCREENSHOT); #endif p->set_item_tooltip(p->get_item_count() - 1, TTR("Screenshots are stored in the Editor Data/Settings Folder.")); #ifdef OSX_ENABLED - p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F), SETTINGS_TOGGLE_FULLSCREEN); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F), SETTINGS_TOGGLE_FULLSCREEN); #else - p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11), SETTINGS_TOGGLE_FULLSCREEN); + p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11), SETTINGS_TOGGLE_FULLSCREEN); #endif #if defined(WINDOWS_ENABLED) && defined(WINDOWS_SUBSYSTEM_CONSOLE) // The console can only be toggled if the application was built for the console subsystem, @@ -6386,20 +6419,20 @@ EditorNode::EditorNode() { p = help_menu->get_popup(); p->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option)); #ifdef OSX_ENABLED - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT("editor/editor_help", TTR("Search Help"), KEY_MASK_ALT | KEY_SPACE), HELP_SEARCH); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), KEY_MASK_ALT | KEY_SPACE), HELP_SEARCH); #else - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT("editor/editor_help", TTR("Search Help"), KEY_F1), HELP_SEARCH); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), KEY_F1), HELP_SEARCH); #endif p->add_separator(); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/online_docs", TTR("Online Documentation")), HELP_DOCS); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/q&a", TTR("Questions & Answers")), HELP_QA); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT("editor/community", TTR("Community")), HELP_COMMUNITY); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/community", TTR("Community")), HELP_COMMUNITY); p->add_separator(); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")), ED_SHORTCUT("editor/about", TTR("About Godot")), HELP_ABOUT); - p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")), ED_SHORTCUT("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/about", TTR("About Godot")), HELP_ABOUT); + p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT); HBoxContainer *play_hb = memnew(HBoxContainer); menu_hb->add_child(play_hb); @@ -6413,9 +6446,9 @@ EditorNode::EditorNode() { play_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY)); play_button->set_tooltip(TTR("Play the project.")); #ifdef OSX_ENABLED - play_button->set_shortcut(ED_SHORTCUT("editor/play", TTR("Play"), KEY_MASK_CMD | KEY_B)); + play_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), KEY_MASK_CMD | KEY_B)); #else - play_button->set_shortcut(ED_SHORTCUT("editor/play", TTR("Play"), KEY_F5)); + play_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), KEY_F5)); #endif pause_button = memnew(Button); @@ -6459,9 +6492,9 @@ EditorNode::EditorNode() { play_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_SCENE)); play_scene_button->set_tooltip(TTR("Play the edited scene.")); #ifdef OSX_ENABLED - play_scene_button->set_shortcut(ED_SHORTCUT("editor/play_scene", TTR("Play Scene"), KEY_MASK_CMD | KEY_R)); + play_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), KEY_MASK_CMD | KEY_R)); #else - play_scene_button->set_shortcut(ED_SHORTCUT("editor/play_scene", TTR("Play Scene"), KEY_F6)); + play_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), KEY_F6)); #endif play_custom_scene_button = memnew(Button); @@ -6473,9 +6506,9 @@ EditorNode::EditorNode() { play_custom_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_CUSTOM_SCENE)); play_custom_scene_button->set_tooltip(TTR("Play custom scene")); #ifdef OSX_ENABLED - play_custom_scene_button->set_shortcut(ED_SHORTCUT("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R)); + play_custom_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R)); #else - play_custom_scene_button->set_shortcut(ED_SHORTCUT("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F5)); + play_custom_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F5)); #endif HBoxContainer *right_menu_hb = memnew(HBoxContainer); @@ -7010,19 +7043,21 @@ EditorNode::EditorNode() { ResourceLoader::set_load_callback(_resource_loaded); #ifdef OSX_ENABLED - ED_SHORTCUT("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_ALT | KEY_1); - ED_SHORTCUT("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_ALT | KEY_2); - ED_SHORTCUT("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_ALT | KEY_3); - ED_SHORTCUT("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_ALT | KEY_4); + ED_SHORTCUT_AND_COMMAND("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_ALT | KEY_1); + ED_SHORTCUT_AND_COMMAND("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_ALT | KEY_2); + ED_SHORTCUT_AND_COMMAND("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_ALT | KEY_3); + ED_SHORTCUT_AND_COMMAND("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_ALT | KEY_4); + ED_SHORTCUT("editor/command_palette", TTR("Open Command Palette"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_P); #else // Use the Ctrl modifier so F2 can be used to rename nodes in the scene tree dock. - ED_SHORTCUT("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_CTRL | KEY_F1); - ED_SHORTCUT("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_CTRL | KEY_F2); - ED_SHORTCUT("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_CTRL | KEY_F3); - ED_SHORTCUT("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_CTRL | KEY_F4); + ED_SHORTCUT_AND_COMMAND("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_CTRL | KEY_F1); + ED_SHORTCUT_AND_COMMAND("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_CTRL | KEY_F2); + ED_SHORTCUT_AND_COMMAND("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_CTRL | KEY_F3); + ED_SHORTCUT_AND_COMMAND("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_CTRL | KEY_F4); + ED_SHORTCUT("editor/command_palette", TTR("Open Command Palette"), KEY_MASK_CTRL | KEY_MASK_SHIFT | KEY_P); #endif - ED_SHORTCUT("editor/editor_next", TTR("Open the next Editor")); - ED_SHORTCUT("editor/editor_prev", TTR("Open the previous Editor")); + ED_SHORTCUT_AND_COMMAND("editor/editor_next", TTR("Next Editor Tab")); + ED_SHORTCUT_AND_COMMAND("editor/editor_prev", TTR("Next Editor Tab")); screenshot_timer = memnew(Timer); screenshot_timer->set_one_shot(true); diff --git a/editor/editor_node.h b/editor/editor_node.h index 6b91856a59..fed4d23704 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -32,6 +32,7 @@ #define EDITOR_NODE_H #include "core/templates/safe_refcount.h" +#include "editor/editor_command_palette.h" #include "editor/editor_data.h" #include "editor/editor_export.h" #include "editor/editor_folding.h" @@ -55,6 +56,7 @@ class Control; class DependencyEditor; class DependencyErrorDialog; class EditorAbout; +class EditorCommandPalette; class EditorExport; class EditorFeatureProfileManager; class EditorFileServer; @@ -192,6 +194,7 @@ private: EDITOR_OPEN_SCREENSHOT, HELP_SEARCH, + HELP_COMMAND_PALETTE, HELP_DOCS, HELP_QA, HELP_REPORT_A_BUG, @@ -342,6 +345,7 @@ private: CenterContainer *tabs_center; EditorQuickOpen *quick_open; EditorQuickOpen *quick_run; + EditorCommandPalette *command_palette; HBoxContainer *main_editor_button_vb; Vector<Button *> main_editor_buttons; @@ -505,6 +509,7 @@ private: void _quick_opened(); void _quick_run(); + void _open_command_palette(); void _run(bool p_current = false, const String &p_custom = ""); void _run_native(const Ref<EditorExportPreset> &p_preset); @@ -703,6 +708,7 @@ public: EditorInspector *get_inspector() { return inspector_dock->get_inspector(); } Container *get_inspector_dock_addon_area() { return inspector_dock->get_addon_area(); } ScriptCreateDialog *get_script_create_dialog() { return scene_tree_dock->get_script_create_dialog(); } + EditorCommandPalette *get_editor_command_palette() { return command_palette; } ProjectSettingsEditor *get_project_settings() { return project_settings; } diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 07e9357e67..b71a3944fc 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -310,6 +310,10 @@ bool EditorInterface::is_distraction_free_mode_enabled() const { return EditorNode::get_singleton()->is_distraction_free_mode_enabled(); } +EditorCommandPalette *EditorInterface::get_command_palette() const { + return EditorNode::get_singleton()->get_editor_command_palette(); +} + EditorInterface *EditorInterface::singleton = nullptr; void EditorInterface::_bind_methods() { @@ -340,6 +344,7 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("get_current_path"), &EditorInterface::get_current_path); ClassDB::bind_method(D_METHOD("get_file_system_dock"), &EditorInterface::get_file_system_dock); ClassDB::bind_method(D_METHOD("get_editor_paths"), &EditorInterface::get_editor_paths); + ClassDB::bind_method(D_METHOD("get_command_palette"), &EditorInterface::get_command_palette); ClassDB::bind_method(D_METHOD("set_plugin_enabled", "plugin", "enabled"), &EditorInterface::set_plugin_enabled); ClassDB::bind_method(D_METHOD("is_plugin_enabled", "plugin"), &EditorInterface::is_plugin_enabled); diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index 2e1dd0a0c1..d665278144 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -45,6 +45,7 @@ class EditorNode; class Node3D; class Camera3D; +class EditorCommandPalette; class EditorSelection; class EditorExport; class EditorSettings; @@ -87,6 +88,8 @@ public: Array get_open_scenes() const; ScriptEditor *get_script_editor(); + EditorCommandPalette *get_command_palette() const; + void select_file(const String &p_file); String get_selected_path() const; String get_current_path() const; diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index fa03d281f2..99619cfc40 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -121,7 +121,7 @@ void EditorPropertyMultilineText::_open_big_text() { if (!big_text_dialog) { big_text = memnew(TextEdit); big_text->connect("text_changed", callable_mp(this, &EditorPropertyMultilineText::_big_text_changed)); - big_text->set_wrap_enabled(true); + big_text->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY); big_text_dialog = memnew(AcceptDialog); big_text_dialog->add_child(big_text); big_text_dialog->set_title(TTR("Edit Text:")); @@ -166,7 +166,7 @@ EditorPropertyMultilineText::EditorPropertyMultilineText() { set_bottom_editor(hb); text = memnew(TextEdit); text->connect("text_changed", callable_mp(this, &EditorPropertyMultilineText::_text_changed)); - text->set_wrap_enabled(true); + text->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY); add_focusable(text); hb->add_child(text); text->set_h_size_flags(SIZE_EXPAND_FILL); @@ -837,7 +837,7 @@ public: Vector2 offset; offset.y = rect2.size.y * 0.75; - draw_string(font, rect2.position + offset, itos(layer_index), HALIGN_CENTER, rect2.size.x, -1, on ? text_color_on : text_color); + draw_string(font, rect2.position + offset, itos(layer_index + 1), HALIGN_CENTER, rect2.size.x, -1, on ? text_color_on : text_color); ofs.x += bsize + 1; @@ -993,12 +993,12 @@ void EditorPropertyLayers::setup(LayerType p_layer_type) { for (int i = 0; i < layer_count; i++) { String name; - if (ProjectSettings::get_singleton()->has_setting(basename + vformat("/layer_%d", i))) { - name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i)); + if (ProjectSettings::get_singleton()->has_setting(basename + vformat("/layer_%d", i + 1))) { + name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i + 1)); } if (name == "") { - name = vformat(TTR("Layer %d"), i); + name = vformat(TTR("Layer %d"), i + 1); } names.push_back(name); @@ -2854,6 +2854,10 @@ void EditorPropertyResource::setup(Object *p_object, const String &p_path, const EditorScriptPicker *script_picker = memnew(EditorScriptPicker); script_picker->set_script_owner(Object::cast_to<Node>(p_object)); resource_picker = script_picker; + } else if (p_path == "shader" && p_base_type == "Shader" && Object::cast_to<ShaderMaterial>(p_object)) { + EditorShaderPicker *shader_picker = memnew(EditorShaderPicker); + shader_picker->set_edited_material(Object::cast_to<ShaderMaterial>(p_object)); + resource_picker = shader_picker; } else { resource_picker = memnew(EditorResourcePicker); } diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index f3965fe7de..a4ab749db4 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -847,6 +847,8 @@ EditorResourcePicker::EditorResourcePicker() { edit_button->connect("gui_input", callable_mp(this, &EditorResourcePicker::_button_input)); } +// EditorScriptPicker + void EditorScriptPicker::set_create_options(Object *p_menu_node) { PopupMenu *menu_node = Object::cast_to<PopupMenu>(p_menu_node); if (!menu_node) { @@ -895,3 +897,42 @@ void EditorScriptPicker::_bind_methods() { EditorScriptPicker::EditorScriptPicker() { } + +// EditorShaderPicker + +void EditorShaderPicker::set_create_options(Object *p_menu_node) { + PopupMenu *menu_node = Object::cast_to<PopupMenu>(p_menu_node); + if (!menu_node) { + return; + } + + menu_node->add_icon_item(get_theme_icon("Shader", "EditorIcons"), TTR("New Shader"), OBJ_MENU_NEW_SHADER); + menu_node->add_separator(); +} + +bool EditorShaderPicker::handle_menu_selected(int p_which) { + Ref<ShaderMaterial> material = Ref<ShaderMaterial>(get_edited_material()); + + switch (p_which) { + case OBJ_MENU_NEW_SHADER: { + if (material.is_valid()) { + EditorNode::get_singleton()->get_scene_tree_dock()->open_shader_dialog(material); + return true; + } + } break; + default: + break; + } + return false; +} + +void EditorShaderPicker::set_edited_material(ShaderMaterial *p_material) { + edited_material = p_material; +} + +ShaderMaterial *EditorShaderPicker::get_edited_material() const { + return edited_material; +} + +EditorShaderPicker::EditorShaderPicker() { +} diff --git a/editor/editor_resource_picker.h b/editor/editor_resource_picker.h index a4c3006c02..d77c31f831 100644 --- a/editor/editor_resource_picker.h +++ b/editor/editor_resource_picker.h @@ -144,4 +144,23 @@ public: EditorScriptPicker(); }; +class EditorShaderPicker : public EditorResourcePicker { + GDCLASS(EditorShaderPicker, EditorResourcePicker); + + enum ExtraMenuOption { + OBJ_MENU_NEW_SHADER = 10, + }; + + ShaderMaterial *edited_material = nullptr; + +public: + virtual void set_create_options(Object *p_menu_node) override; + virtual bool handle_menu_selected(int p_which) override; + + void set_edited_material(ShaderMaterial *p_material); + ShaderMaterial *get_edited_material() const; + + EditorShaderPicker(); +}; + #endif // EDITOR_RESOURCE_PICKER_H diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 29ac836834..009a83994c 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -374,6 +374,11 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("interface/editor/display_scale", 0); // Display what the Auto display scale setting effectively corresponds to. float scale = get_auto_display_scale(); + + _initial_set("interface/editor/enable_debugging_pseudolocalization", false); + set_restart_if_changed("interface/editor/enable_debugging_pseudolocalization", true); + // Use pseudolocalization in editor. + hints["interface/editor/display_scale"] = PropertyInfo(Variant::INT, "interface/editor/display_scale", PROPERTY_HINT_ENUM, vformat("Auto (%d%%),75%%,100%%,125%%,150%%,175%%,200%%,Custom", Math::round(scale * 100)), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/editor/custom_display_scale", 1.0f); hints["interface/editor/custom_display_scale"] = PropertyInfo(Variant::FLOAT, "interface/editor/custom_display_scale", PROPERTY_HINT_RANGE, "0.5,3,0.01", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); @@ -520,7 +525,9 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("text_editor/appearance/show_bookmark_gutter", true); _initial_set("text_editor/appearance/show_info_gutter", true); _initial_set("text_editor/appearance/code_folding", true); - _initial_set("text_editor/appearance/word_wrap", false); + _initial_set("text_editor/appearance/word_wrap", 0); + hints["text_editor/appearance/word_wrap"] = PropertyInfo(Variant::INT, "text_editor/appearance/word_wrap", PROPERTY_HINT_ENUM, "None,Boundary"); + _initial_set("text_editor/appearance/show_line_length_guidelines", true); _initial_set("text_editor/appearance/line_length_guideline_soft_column", 80); hints["text_editor/appearance/line_length_guideline_soft_column"] = PropertyInfo(Variant::INT, "text_editor/appearance/line_length_guideline_soft_column", PROPERTY_HINT_RANGE, "20, 160, 1"); @@ -541,7 +548,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { // Cursor _initial_set("text_editor/cursor/scroll_past_end_of_file", false); - _initial_set("text_editor/cursor/block_caret", false); + _initial_set("text_editor/cursor/type", 0); + hints["text_editor/cursor/type"] = PropertyInfo(Variant::INT, "text_editor/cursor/type", PROPERTY_HINT_ENUM, "Line,Block"); _initial_set("text_editor/cursor/caret_blink", true); _initial_set("text_editor/cursor/caret_blink_speed", 0.5); hints["text_editor/cursor/caret_blink_speed"] = PropertyInfo(Variant::FLOAT, "text_editor/cursor/caret_blink_speed", PROPERTY_HINT_RANGE, "0.1, 10, 0.01"); @@ -953,11 +961,11 @@ fail: } void EditorSettings::setup_language() { + TranslationServer::get_singleton()->set_editor_pseudolocalization(get("interface/editor/enable_debugging_pseudolocalization")); String lang = get("interface/editor/editor_language"); if (lang == "en") { return; // Default, nothing to do. } - // Load editor translation for configured/detected locale. EditorTranslationList *etl = _editor_translations; while (etl->data) { @@ -1514,7 +1522,7 @@ Ref<Shortcut> ED_GET_SHORTCUT(const String &p_path) { return sc; } -Ref<Shortcut> ED_SHORTCUT(const String &p_path, const String &p_name, uint32_t p_keycode) { +Ref<Shortcut> ED_SHORTCUT(const String &p_path, const String &p_name, Key p_keycode) { #ifdef OSX_ENABLED // Use Cmd+Backspace as a general replacement for Delete shortcuts on macOS if (p_keycode == KEY_DELETE) { diff --git a/editor/editor_settings.h b/editor/editor_settings.h index 3a28c18b27..6d28b26623 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -200,7 +200,7 @@ Variant _EDITOR_DEF(const String &p_setting, const Variant &p_default, bool p_re Variant _EDITOR_GET(const String &p_setting); #define ED_IS_SHORTCUT(p_name, p_ev) (EditorSettings::get_singleton()->is_shortcut(p_name, p_ev)) -Ref<Shortcut> ED_SHORTCUT(const String &p_path, const String &p_name, uint32_t p_keycode = 0); +Ref<Shortcut> ED_SHORTCUT(const String &p_path, const String &p_name, Key p_keycode = KEY_NONE); Ref<Shortcut> ED_GET_SHORTCUT(const String &p_path); #endif // EDITOR_SETTINGS_H diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 0d714065e3..e93c8a1a05 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -1048,20 +1048,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("font_readonly_color", "LineEdit", font_readonly_color); theme->set_color("caret_color", "TextEdit", font_color); theme->set_color("selection_color", "TextEdit", selection_color); + theme->set_constant("line_spacing", "TextEdit", 4 * EDSCALE); // CodeEdit + theme->set_font("font", "CodeEdit", theme->get_font("source", "EditorFonts")); + theme->set_font_size("font_size", "CodeEdit", theme->get_font_size("source_size", "EditorFonts")); theme->set_stylebox("normal", "CodeEdit", style_widget); theme->set_stylebox("focus", "CodeEdit", style_widget_hover); theme->set_stylebox("read_only", "CodeEdit", style_widget_disabled); - theme->set_constant("side_margin", "TabContainer", 0); theme->set_icon("tab", "CodeEdit", theme->get_icon("GuiTab", "EditorIcons")); theme->set_icon("space", "CodeEdit", theme->get_icon("GuiSpace", "EditorIcons")); theme->set_icon("folded", "CodeEdit", theme->get_icon("GuiTreeArrowRight", "EditorIcons")); theme->set_icon("can_fold", "CodeEdit", theme->get_icon("GuiTreeArrowDown", "EditorIcons")); theme->set_icon("executing_line", "CodeEdit", theme->get_icon("MainPlay", "EditorIcons")); - theme->set_color("font_color", "CodeEdit", font_color); - theme->set_color("caret_color", "CodeEdit", font_color); - theme->set_color("selection_color", "CodeEdit", selection_color); + theme->set_constant("line_spacing", "CodeEdit", EDITOR_DEF("text_editor/theme/line_spacing", 6)); // H/VSplitContainer theme->set_stylebox("bg", "VSplitContainer", make_stylebox(theme->get_icon("GuiVsplitBg", "EditorIcons"), 1, 1, 1, 1)); @@ -1232,6 +1232,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("reset", "GraphEdit", theme->get_icon("ZoomReset", "EditorIcons")); theme->set_icon("snap", "GraphEdit", theme->get_icon("SnapGrid", "EditorIcons")); theme->set_icon("minimap", "GraphEdit", theme->get_icon("GridMinimap", "EditorIcons")); + theme->set_icon("layout", "GraphEdit", theme->get_icon("GridLayout", "EditorIcons")); theme->set_constant("bezier_len_pos", "GraphEdit", 80 * EDSCALE); theme->set_constant("bezier_len_neg", "GraphEdit", 160 * EDSCALE); @@ -1345,7 +1346,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("folder_icon_modulate", "FileDialog", (dark_theme ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)).lerp(accent_color, 0.7)); theme->set_color("files_disabled", "FileDialog", font_disabled_color); - // color picker + // ColorPicker theme->set_constant("margin", "ColorPicker", popup_margin_size); theme->set_constant("sv_width", "ColorPicker", 256 * EDSCALE); theme->set_constant("sv_height", "ColorPicker", 256 * EDSCALE); @@ -1358,6 +1359,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("bar_arrow", "ColorPicker", theme->get_icon("ColorPickerBarArrow", "EditorIcons")); theme->set_icon("picker_cursor", "ColorPicker", theme->get_icon("PickerCursor", "EditorIcons")); + // ColorPickerButton theme->set_icon("bg", "ColorPickerButton", theme->get_icon("GuiMiniCheckerboard", "EditorIcons")); // Information on 3D viewport @@ -1470,6 +1472,29 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { setting->load_text_editor_theme(); } + // Now theme is loaded, apply it to CodeEdit. + theme->set_color("background_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/background_color")); + theme->set_color("completion_background_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_background_color")); + theme->set_color("completion_selected_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_selected_color")); + theme->set_color("completion_existing_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_existing_color")); + theme->set_color("completion_scroll_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_scroll_color")); + theme->set_color("completion_font_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_font_color")); + theme->set_color("font_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/text_color")); + theme->set_color("line_number_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/line_number_color")); + theme->set_color("caret_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/caret_color")); + theme->set_color("font_selected_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/text_selected_color")); + theme->set_color("selection_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/selection_color")); + theme->set_color("brace_mismatch_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/brace_mismatch_color")); + theme->set_color("current_line_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/current_line_color")); + theme->set_color("line_length_guideline_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/line_length_guideline_color")); + theme->set_color("word_highlighted_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/word_highlighted_color")); + theme->set_color("bookmark_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/bookmark_color")); + theme->set_color("breakpoint_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/breakpoint_color")); + theme->set_color("executing_line_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/executing_line_color")); + theme->set_color("code_folding_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/code_folding_color")); + theme->set_color("search_result_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/search_result_color")); + theme->set_color("search_result_border_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/search_result_border_color")); + return theme; } diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index 699957897f..b646b3361d 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -889,8 +889,8 @@ ExportTemplateManager::ExportTemplateManager() { request_mirrors->connect("request_completed", callable_mp(this, &ExportTemplateManager::_refresh_mirrors_completed)); mirror_options_button = memnew(MenuButton); - mirror_options_button->get_popup()->add_item("Open in Web Browser", VISIT_WEB_MIRROR); - mirror_options_button->get_popup()->add_item("Copy Mirror URL", COPY_MIRROR_URL); + mirror_options_button->get_popup()->add_item(TTR("Open in Web Browser"), VISIT_WEB_MIRROR); + mirror_options_button->get_popup()->add_item(TTR("Copy Mirror URL"), COPY_MIRROR_URL); download_install_hb->add_child(mirror_options_button); mirror_options_button->get_popup()->connect("id_pressed", callable_mp(this, &ExportTemplateManager::_mirror_options_button_cbk)); diff --git a/editor/icons/GridLayout.svg b/editor/icons/GridLayout.svg new file mode 100644 index 0000000000..71ad504477 --- /dev/null +++ b/editor/icons/GridLayout.svg @@ -0,0 +1 @@ +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m14 2.1992188v2.6152343l-2.625 1.3125v-2.6152343zm-12 4.0644531 2.625 1.3125v2.5507811l-2.625-1.3124999zm12 0v2.5507812l-2.625 1.3124999v-2.5507811zm-8 1.4550781h4v2.640625h-4zm-4 2.560547 2.625 1.3125v2.521484l-2.625-1.3125zm12 0v2.521484l-2.625 1.3125v-2.521484zm-8 1.455078h4v2.640625h-4zm1.7014535-8.109375h2.2985465v2.734375h-4.15625s-.7487346.647119-.8746377.640625c-.1310411-.0067594-1.5097373-1.4558594-1.5097373-1.4558594l-1.459375-.7296875v-2.6152343l.068419.034223s.026411-.4573464.062111-.6760553c.0346282-.2121439.1970747-.59225724.1970747-.59225724l-1.0483078-.52372301c-.0795772-.04012218-.1668141-.06276382-.2558594-.06640625-.35427845-.01325803-.64865004.27047362-.6484375.625v12c.00021484.236623.13402736.45284.34570312.558594l3.99999998 2c.086686.043505.1823067.06624.2792969.066406h6c.09699-.000166.192611-.0229.279297-.06641l4-2c.211676-.10575.345488-.321967.345703-.55859v-12c-.000468-.46423753-.488958-.76598317-.904297-.55859375l-3.869141 1.93359375h-2.9709527s.033448.4166167.015891.625c-.029188.3464401-.1950466.625-.1950468.625z" fill="#b05b5b"/><path d="m5 6s-2.21875-2.1616704-2.21875-3.2425057c0-1.0808352 0-2.6072392 2.21875-2.6072392s2.21875 1.526404 2.21875 2.6072392c0 1.0808353-2.21875 3.2425057-2.21875 3.2425057z" fill="#fff" fill-opacity=".68627"/></svg> diff --git a/editor/icons/PrismMesh.svg b/editor/icons/PrismMesh.svg index cca52bb7b0..0fd169cc8c 100644 --- a/editor/icons/PrismMesh.svg +++ b/editor/icons/PrismMesh.svg @@ -1 +1 @@ -<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7.9824 1.002a1.0001 1.0001 0 0 0 -.81445.44336l-5.9727 8.9609-.027344.03906a1 1 0 0 0 -.0625.10742 1 1 0 0 0 .44727 1.3418l6 3a1.0001 1.0001 0 0 0 .89453 0l6-3a1 1 0 0 0 .44726-1.3418 1 1 0 0 0 -.0625-.10742l-6-9a1.0001 1.0001 0 0 0 -.84961-.44336zm-.98242 4.3008v7.0801l-3.5391-1.7715zm2 0 3.5391 5.3086-3.5391 1.7715z" fill="#ffca5f"/></svg> +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m3.9168678 1.8860265c-.3598509 1.0771598-1.9743383 5.9072035-2.95075512 8.8641335-.15505871.56144.26297692 1.081021.77506042 1.256186 1.9729807.978051 3.9341568 1.98391 5.9144721 2.944682.5872542.201411 1.0933197-.27019 1.6046594-.478049 1.7521944-.878995 3.5092364-1.748814 5.2583944-2.633556.53543-.305954.598247-1.041459.264856-1.51829-.991782-1.9723689-1.966021-3.9544106-2.968743-5.9207481-.320568-.4259931-.882722-.5397422-1.322158-.8066387-1.7413894-.8632626-4.7187151-2.3492561-5.2199521-2.59935915-.501237-.2501031-.9959833-.18552039-1.3558341.89163945zm1.6236276 1.4766588 4.2114703 2.1046892-2.3703904 7.1132625-4.2114703-2.104688zm5.6257546 4.2135626 1.479141 2.9582811-2.9603737 1.481232z" fill="#ffca5f"/></svg> diff --git a/editor/icons/RayShape2D.svg b/editor/icons/RayShape2D.svg deleted file mode 100644 index aa8cee1210..0000000000 --- a/editor/icons/RayShape2D.svg +++ /dev/null @@ -1 +0,0 @@ -<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1a1 1 0 0 0 -1 1v9.5859l-1.293-1.293a1 1 0 0 0 -.7207-.29102 1 1 0 0 0 -.69336.29102 1 1 0 0 0 0 1.4141l3 3a1.0001 1.0001 0 0 0 .0039062.003907 1 1 0 0 0 .050781.044921 1.0001 1.0001 0 0 0 .03125.027344 1 1 0 0 0 .048828.035156 1.0001 1.0001 0 0 0 .023438.015625 1 1 0 0 0 .076172.044922 1.0001 1.0001 0 0 0 .0058593.003906 1 1 0 0 0 .013672.007813 1.0001 1.0001 0 0 0 .078125.035156 1 1 0 0 0 .074219.025391 1.0001 1.0001 0 0 0 .025391.009766 1 1 0 0 0 .039062.009765 1.0001 1.0001 0 0 0 .068359.013672 1.0001 1.0001 0 0 0 .097656.011719 1.0001 1.0001 0 0 0 .0078125 0 1 1 0 0 0 .0625.003906 1 1 0 0 0 .015625-.001953 1.0001 1.0001 0 0 0 .083984-.003906 1 1 0 0 0 .015625-.001953 1.0001 1.0001 0 0 0 .083984-.013672 1.0001 1.0001 0 0 0 .052734-.013672 1 1 0 0 0 .058594-.015625 1.0001 1.0001 0 0 0 .078125-.029297 1 1 0 0 0 .013672-.00586 1.0001 1.0001 0 0 0 .076172-.037109 1 1 0 0 0 .013672-.007812 1.0001 1.0001 0 0 0 .072266-.044922 1 1 0 0 0 .011719-.007813 1.0001 1.0001 0 0 0 .068359-.052734 1 1 0 0 0 .011719-.009766 1.0001 1.0001 0 0 0 .050781-.046875l.0097657-.011719 2.9902-2.9883a1 1 0 0 0 0-1.4141 1 1 0 0 0 -1.4141 0l-1.293 1.293v-9.5859a1 1 0 0 0 -1-1z" fill="#68b6ff" fill-rule="evenodd"/></svg> diff --git a/editor/icons/RayShape3D.svg b/editor/icons/RayShape3D.svg deleted file mode 100644 index 44d32fe83b..0000000000 --- a/editor/icons/RayShape3D.svg +++ /dev/null @@ -1 +0,0 @@ -<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd"><path d="m8 1-6 5 4 2.666v4.334l2 2v-5-2z" fill="#a2d2ff"/><path d="m8 1v7 2l-2-1.334v1.334l2 1.5v3.5l2-2v-4.334l4-2.666z" fill="#2998ff"/></g></svg> diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index b615c73422..54b93edcdd 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -1414,7 +1414,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones //animation->set_loop(true); //create animation tracks - Vector<float> base_snapshots; + Vector<real_t> base_snapshots; float f = 0; float snapshot_interval = 1.0 / bake_fps; //should be customizable somewhere... @@ -1466,7 +1466,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->track_set_path(track, path); animation->track_set_imported(track, true); //helps merging later - Vector<float> snapshots = base_snapshots; + Vector<real_t> snapshots = base_snapshots; if (nm.anim_tracks.size() == 1) { //use snapshot keys from anim track instead, because this was most likely exported baked diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp index 2ac8b8bd7d..d5bb21443c 100644 --- a/editor/import/resource_importer_layered_texture.cpp +++ b/editor/import/resource_importer_layered_texture.cpp @@ -341,10 +341,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const if (compress_mode == COMPRESS_VRAM_COMPRESSED) { mipmaps = true; - } - //optimize - if (compress_mode == COMPRESS_VRAM_COMPRESSED) { //if using video ram, optimize if (channel_pack == 0) { //remove alpha if not needed, so compression is more efficient diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 50aae6c434..492fa3f965 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -45,7 +45,6 @@ #include "scene/resources/animation.h" #include "scene/resources/box_shape_3d.h" #include "scene/resources/packed_scene.h" -#include "scene/resources/ray_shape_3d.h" #include "scene/resources/resource_format_text.h" #include "scene/resources/sphere_shape_3d.h" #include "scene/resources/surface_tool.h" @@ -381,11 +380,6 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<E BoxShape3D *boxShape = memnew(BoxShape3D); boxShape->set_size(Vector3(2, 2, 2)); colshape->set_shape(boxShape); - } else if (empty_draw_type == "SINGLE_ARROW") { - RayShape3D *rayShape = memnew(RayShape3D); - rayShape->set_length(1); - colshape->set_shape(rayShape); - Object::cast_to<Node3D>(sb)->rotate_x(Math_PI / 2); } else if (empty_draw_type == "IMAGE") { WorldMarginShape3D *world_margin_shape = memnew(WorldMarginShape3D); colshape->set_shape(world_margin_shape); diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp index 5fe466140b..a3ff312497 100644 --- a/editor/plugin_config_dialog.cpp +++ b/editor/plugin_config_dialog.cpp @@ -282,7 +282,7 @@ PluginConfigDialog::PluginConfigDialog() { desc_edit = memnew(TextEdit); desc_edit->set_custom_minimum_size(Size2(400, 80) * EDSCALE); - desc_edit->set_wrap_enabled(true); + desc_edit->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY); grid->add_child(desc_edit); // Author diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h index 24c950fdee..fe98a91ab3 100644 --- a/editor/plugins/animation_blend_space_1d_editor.h +++ b/editor/plugins/animation_blend_space_1d_editor.h @@ -92,7 +92,7 @@ class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin { PopupMenu *animations_menu; Vector<String> animations_to_add; float add_point_pos; - Vector<float> points; + Vector<real_t> points; bool dragging_selected_attempt; bool dragging_selected; diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 681c3e7195..b4e9f468de 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -1246,6 +1246,8 @@ void AnimationPlayerEditor::_unhandled_key_input(const Ref<InputEvent> &p_ev) { } accept_event(); } break; + default: + break; } } } diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index c440064898..76c056ed33 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -41,6 +41,7 @@ #include "editor/editor_settings.h" #include "editor/plugins/animation_player_editor_plugin.h" #include "editor/plugins/script_editor_plugin.h" +#include "scene/2d/cpu_particles_2d.h" #include "scene/2d/gpu_particles_2d.h" #include "scene/2d/light_2d.h" #include "scene/2d/polygon_2d.h" @@ -4073,7 +4074,7 @@ void CanvasItemEditor::_popup_warning_depop(Control *p_control) { info_overlay->set_offset(SIDE_LEFT, (show_rulers ? RULER_WIDTH : 0) + 10); } -void CanvasItemEditor::_popup_warning_temporarily(Control *p_control, const float p_duration) { +void CanvasItemEditor::_popup_warning_temporarily(Control *p_control, const double p_duration) { Timer *timer; if (!popup_temporarily_timers.has(p_control)) { timer = memnew(Timer); @@ -5740,7 +5741,7 @@ void CanvasItemEditorViewport::_on_change_type_confirmed() { } CheckBox *check = Object::cast_to<CheckBox>(button_group->get_pressed_button()); - default_type = check->get_text(); + default_texture_node_type = check->get_text(); _perform_drop_data(); selector->hide(); } @@ -5832,14 +5833,13 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String & child->set_name(name); Ref<Texture2D> texture = Ref<Texture2D>(Object::cast_to<Texture2D>(ResourceCache::get(path))); - Size2 texture_size = texture->get_size(); if (parent) { editor_data->get_undo_redo().add_do_method(parent, "add_child", child); editor_data->get_undo_redo().add_do_method(child, "set_owner", editor->get_edited_scene()); editor_data->get_undo_redo().add_do_reference(child); editor_data->get_undo_redo().add_undo_method(parent, "remove_child", child); - } else { // if we haven't parent, lets try to make a child as a parent. + } else { // If no parent is selected, set as root node of the scene. editor_data->get_undo_redo().add_do_method(editor, "set_edited_scene", child); editor_data->get_undo_redo().add_do_method(child, "set_owner", editor->get_edited_scene()); editor_data->get_undo_redo().add_do_reference(child); @@ -5853,28 +5853,23 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String & editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(editor->get_edited_scene()->get_path_to(parent)) + "/" + new_name)); } - // handle with different property for texture - String property = "texture"; - List<PropertyInfo> props; - child->get_property_list(&props); - for (const PropertyInfo &E : props) { - if (E.name == "config/texture") { // Particles2D - property = "config/texture"; - break; - } else if (E.name == "texture/texture") { // Polygon2D - property = "texture/texture"; - break; - } else if (E.name == "normal") { // TouchScreenButton - property = "normal"; - break; - } + String node_class = child->get_class(); + if (node_class == "Polygon2D") { + editor_data->get_undo_redo().add_do_property(child, "texture/texture", texture); + } else if (node_class == "TouchScreenButton") { + editor_data->get_undo_redo().add_do_property(child, "normal", texture); + } else if (node_class == "TextureButton") { + editor_data->get_undo_redo().add_do_property(child, "texture_button", texture); + } else { + editor_data->get_undo_redo().add_do_property(child, "texture", texture); } - editor_data->get_undo_redo().add_do_property(child, property, texture); // make visible for certain node type - if (default_type == "NinePatchRect") { - editor_data->get_undo_redo().add_do_property(child, "rect/size", texture_size); - } else if (default_type == "Polygon2D") { + if (ClassDB::is_parent_class(node_class, "Control")) { + Size2 texture_size = texture->get_size(); + editor_data->get_undo_redo().add_do_property(child, "rect_size", texture_size); + } else if (node_class == "Polygon2D") { + Size2 texture_size = texture->get_size(); Vector<Vector2> list; list.push_back(Vector2(0, 0)); list.push_back(Vector2(texture_size.width, 0)); @@ -5975,23 +5970,7 @@ void CanvasItemEditorViewport::_perform_drop_data() { } else { Ref<Texture2D> texture = Ref<Texture2D>(Object::cast_to<Texture2D>(*res)); if (texture != nullptr && texture.is_valid()) { - Node *child; - if (default_type == "Light2D") { - child = memnew(Light2D); - } else if (default_type == "GPUParticles2D") { - child = memnew(GPUParticles2D); - } else if (default_type == "Polygon2D") { - child = memnew(Polygon2D); - } else if (default_type == "TouchScreenButton") { - child = memnew(TouchScreenButton); - } else if (default_type == "TextureRect") { - child = memnew(TextureRect); - } else if (default_type == "NinePatchRect") { - child = memnew(NinePatchRect); - } else { - child = memnew(Sprite2D); // default - } - + Node *child = _make_texture_node_type(default_texture_node_type); _create_nodes(target_node, child, path, drop_pos); } } @@ -6029,13 +6008,7 @@ bool CanvasItemEditorViewport::can_drop_data(const Point2 &p_point, const Varian continue; } memdelete(instantiated_scene); - } else if (type == "Texture2D" || - type == "ImageTexture" || - type == "ViewportTexture" || - type == "CurveTexture" || - type == "GradientTexture" || - type == "StreamTexture2D" || - type == "AtlasTexture") { + } else if (ClassDB::is_parent_class(type, "Texture2D")) { Ref<Texture2D> texture = Ref<Texture2D>(Object::cast_to<Texture2D>(*res)); if (!texture.is_valid()) { continue; @@ -6052,7 +6025,7 @@ bool CanvasItemEditorViewport::can_drop_data(const Point2 &p_point, const Varian } Transform2D trans = canvas_item_editor->get_canvas_transform(); preview_node->set_position((p_point - trans.get_origin()) / trans.get_scale().x); - label->set_text(vformat(TTR("Adding %s..."), default_type)); + label->set_text(vformat(TTR("Adding %s..."), default_texture_node_type)); } return can_instantiate; } @@ -6068,9 +6041,9 @@ void CanvasItemEditorViewport::_show_resource_type_selector() { for (int i = 0; i < btn_list.size(); i++) { CheckBox *check = Object::cast_to<CheckBox>(btn_list[i]); - check->set_pressed(check->get_text() == default_type); + check->set_pressed(check->get_text() == default_texture_node_type); } - selector->set_title(vformat(TTR("Add %s"), default_type)); + selector->set_title(vformat(TTR("Add %s"), default_texture_node_type)); selector->popup_centered(); } @@ -6126,6 +6099,30 @@ void CanvasItemEditorViewport::drop_data(const Point2 &p_point, const Variant &p } } +Node *CanvasItemEditorViewport::_make_texture_node_type(String texture_node_type) { + Node *node = nullptr; + if (texture_node_type == "Sprite2D") { + node = memnew(Sprite2D); + } else if (texture_node_type == "PointLight2D") { + node = memnew(PointLight2D); + } else if (texture_node_type == "CPUParticles2D") { + node = memnew(CPUParticles2D); + } else if (texture_node_type == "GPUParticles2D") { + node = memnew(GPUParticles2D); + } else if (texture_node_type == "Polygon2D") { + node = memnew(Polygon2D); + } else if (texture_node_type == "TouchScreenButton") { + node = memnew(TouchScreenButton); + } else if (texture_node_type == "TextureRect") { + node = memnew(TextureRect); + } else if (texture_node_type == "TextureButton") { + node = memnew(TextureButton); + } else if (texture_node_type == "NinePatchRect") { + node = memnew(NinePatchRect); + } + return node; +} + void CanvasItemEditorViewport::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { @@ -6145,22 +6142,24 @@ void CanvasItemEditorViewport::_bind_methods() { } CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasItemEditor *p_canvas_item_editor) { - default_type = "Sprite2D"; + default_texture_node_type = "Sprite2D"; // Node2D - types.push_back("Sprite2D"); - types.push_back("Light2D"); - types.push_back("GPUParticles2D"); - types.push_back("Polygon2D"); - types.push_back("TouchScreenButton"); + texture_node_types.push_back("Sprite2D"); + texture_node_types.push_back("PointLight2D"); + texture_node_types.push_back("CPUParticles2D"); + texture_node_types.push_back("GPUParticles2D"); + texture_node_types.push_back("Polygon2D"); + texture_node_types.push_back("TouchScreenButton"); // Control - types.push_back("TextureRect"); - types.push_back("NinePatchRect"); + texture_node_types.push_back("TextureRect"); + texture_node_types.push_back("TextureButton"); + texture_node_types.push_back("NinePatchRect"); target_node = nullptr; editor = p_node; editor_data = editor->get_scene_tree_dock()->get_editor_data(); canvas_item_editor = p_canvas_item_editor; - preview_node = memnew(Node2D); + preview_node = memnew(Control); accept = memnew(AcceptDialog); editor->get_gui_base()->add_child(accept); @@ -6182,10 +6181,10 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte btn_group->set_h_size_flags(0); button_group.instantiate(); - for (int i = 0; i < types.size(); i++) { + for (int i = 0; i < texture_node_types.size(); i++) { CheckBox *check = memnew(CheckBox); btn_group->add_child(check); - check->set_text(types[i]); + check->set_text(texture_node_types[i]); check->connect("button_down", callable_mp(this, &CanvasItemEditorViewport::_on_select_type), varray(check)); check->set_button_group(button_group); } diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index 1f59dfbc49..bff580315e 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -56,7 +56,7 @@ public: Transform2D pre_drag_xform; Rect2 pre_drag_rect; - List<float> pre_drag_bones_length; + List<real_t> pre_drag_bones_length; List<Dictionary> pre_drag_bones_undo_state; Dictionary undo_state; @@ -540,7 +540,7 @@ private: VSplitContainer *bottom_split; void _update_context_menu_stylebox(); - void _popup_warning_temporarily(Control *p_control, const float p_duration); + void _popup_warning_temporarily(Control *p_control, const double p_duration); void _popup_warning_depop(Control *p_control); void _set_owner_for_node_and_children(Node *p_node, Node *p_owner); @@ -639,8 +639,10 @@ public: class CanvasItemEditorViewport : public Control { GDCLASS(CanvasItemEditorViewport, Control); - String default_type; - Vector<String> types; + // The type of node that will be created when dropping texture into the viewport. + String default_texture_node_type; + // Node types that are available to select from when dropping texture into viewport. + Vector<String> texture_node_types; Vector<String> selected_files; Node *target_node; @@ -649,7 +651,7 @@ class CanvasItemEditorViewport : public Control { EditorNode *editor; EditorData *editor_data; CanvasItemEditor *canvas_item_editor; - Node2D *preview_node; + Control *preview_node; AcceptDialog *accept; AcceptDialog *selector; Label *selector_label; @@ -662,6 +664,7 @@ class CanvasItemEditorViewport : public Control { void _on_select_type(Object *selected); void _on_change_type_confirmed(); void _on_change_type_closed(); + Node *_make_texture_node_type(String texture_node_type); void _create_preview(const Vector<String> &files) const; void _remove_preview(); diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index 2c2adc2672..4266e0f676 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -37,7 +37,6 @@ #include "scene/resources/concave_polygon_shape_2d.h" #include "scene/resources/convex_polygon_shape_2d.h" #include "scene/resources/line_shape_2d.h" -#include "scene/resources/ray_shape_2d.h" #include "scene/resources/rectangle_shape_2d.h" #include "scene/resources/segment_shape_2d.h" @@ -86,15 +85,6 @@ Variant CollisionShape2DEditor::get_handle_value(int idx) const { } break; - case RAY_SHAPE: { - Ref<RayShape2D> ray = node->get_shape(); - - if (idx == 0) { - return ray->get_length(); - } - - } break; - case RECTANGLE_SHAPE: { Ref<RectangleShape2D> rect = node->get_shape(); @@ -130,7 +120,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) { if (idx == 0) { capsule->set_radius(parameter); } else if (idx == 1) { - capsule->set_height(parameter * 2 - capsule->get_radius() * 2); + capsule->set_height(parameter * 2); } canvas_item_editor->update_viewport(); @@ -167,15 +157,6 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) { } break; - case RAY_SHAPE: { - Ref<RayShape2D> ray = node->get_shape(); - - ray->set_length(Math::abs(p_point.y)); - - canvas_item_editor->update_viewport(); - - } break; - case RECTANGLE_SHAPE: { if (idx < 8) { Ref<RectangleShape2D> rect = node->get_shape(); @@ -277,16 +258,6 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) { } break; - case RAY_SHAPE: { - Ref<RayShape2D> ray = node->get_shape(); - - undo_redo->add_do_method(ray.ptr(), "set_length", ray->get_length()); - undo_redo->add_do_method(canvas_item_editor, "update_viewport"); - undo_redo->add_undo_method(ray.ptr(), "set_length", p_org); - undo_redo->add_undo_method(canvas_item_editor, "update_viewport"); - - } break; - case RECTANGLE_SHAPE: { Ref<RectangleShape2D> rect = node->get_shape(); @@ -428,8 +399,6 @@ void CollisionShape2DEditor::_get_current_shape_type() { shape_type = CONVEX_POLYGON_SHAPE; } else if (Object::cast_to<LineShape2D>(*s)) { shape_type = LINE_SHAPE; - } else if (Object::cast_to<RayShape2D>(*s)) { - shape_type = RAY_SHAPE; } else if (Object::cast_to<RectangleShape2D>(*s)) { shape_type = RECTANGLE_SHAPE; } else if (Object::cast_to<SegmentShape2D>(*s)) { @@ -471,8 +440,8 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla float radius = shape->get_radius(); float height = shape->get_height() / 2; - handles.write[0] = Point2(radius, height); - handles.write[1] = Point2(0, height + radius); + handles.write[0] = Point2(radius, 0); + handles.write[1] = Point2(0, height); p_overlay->draw_texture(h, gt.xform(handles[0]) - size); p_overlay->draw_texture(h, gt.xform(handles[1]) - size); @@ -507,16 +476,6 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla } break; - case RAY_SHAPE: { - Ref<RayShape2D> shape = node->get_shape(); - - handles.resize(1); - handles.write[0] = Point2(0, shape->get_length()); - - p_overlay->draw_texture(h, gt.xform(handles[0]) - size); - - } break; - case RECTANGLE_SHAPE: { Ref<RectangleShape2D> shape = node->get_shape(); diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h index 7db6bd22aa..130ec708cf 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.h +++ b/editor/plugins/collision_shape_2d_editor_plugin.h @@ -47,7 +47,6 @@ class CollisionShape2DEditor : public Control { CONCAVE_POLYGON_SHAPE, CONVEX_POLYGON_SHAPE, LINE_SHAPE, - RAY_SHAPE, RECTANGLE_SHAPE, SEGMENT_SHAPE }; diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index d7618b973e..d47bd2d410 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -386,7 +386,7 @@ EditorMaterialPreviewPlugin::EditorMaterialPreviewPlugin() { Vector<Vector3> vertices; Vector<Vector3> normals; Vector<Vector2> uvs; - Vector<float> tangents; + Vector<real_t> tangents; Basis tt = Basis(Vector3(0, 1, 0), Math_PI * 0.5); for (int i = 1; i <= lats; i++) { @@ -635,7 +635,7 @@ Ref<Texture2D> EditorAudioStreamPreviewPlugin::generate(const RES &p_from, const Ref<AudioStreamPlayback> playback = stream->instance_playback(); ERR_FAIL_COND_V(playback.is_null(), Ref<Texture2D>()); - float len_s = stream->get_length(); + real_t len_s = stream->get_length(); if (len_s == 0) { len_s = 60; //one minute audio if no length specified } @@ -649,8 +649,8 @@ Ref<Texture2D> EditorAudioStreamPreviewPlugin::generate(const RES &p_from, const playback->stop(); for (int i = 0; i < w; i++) { - float max = -1000; - float min = 1000; + real_t max = -1000; + real_t min = 1000; int from = uint64_t(i) * frame_length / w; int to = (uint64_t(i) + 1) * frame_length / w; to = MIN(to, frame_length); diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.cpp b/editor/plugins/gpu_particles_2d_editor_plugin.cpp index 5184e837ce..efec5a709d 100644 --- a/editor/plugins/gpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_2d_editor_plugin.cpp @@ -60,7 +60,7 @@ void GPUParticles2DEditorPlugin::_file_selected(const String &p_file) { void GPUParticles2DEditorPlugin::_menu_callback(int p_idx) { switch (p_idx) { case MENU_GENERATE_VISIBILITY_RECT: { - float gen_time = particles->get_lifetime(); + double gen_time = particles->get_lifetime(); if (gen_time < 1.0) { generate_seconds->set_value(1.0); } else { @@ -100,7 +100,7 @@ void GPUParticles2DEditorPlugin::_menu_callback(int p_idx) { } void GPUParticles2DEditorPlugin::_generate_visibility_rect() { - float time = generate_seconds->get_value(); + double time = generate_seconds->get_value(); float running = 0.0; diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp index 8576082597..fff25b6f59 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp @@ -282,9 +282,9 @@ void GPUParticles3DEditor::_menu_option(int p_option) { } void GPUParticles3DEditor::_generate_aabb() { - float time = generate_seconds->get_value(); + double time = generate_seconds->get_value(); - float running = 0.0; + double running = 0.0; EditorProgress ep("gen_aabb", TTR("Generating AABB"), int(time)); diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp index 46e15d97bf..dcea7b26f3 100644 --- a/editor/plugins/node_3d_editor_gizmos.cpp +++ b/editor/plugins/node_3d_editor_gizmos.cpp @@ -66,7 +66,6 @@ #include "scene/resources/cylinder_shape_3d.h" #include "scene/resources/height_map_shape_3d.h" #include "scene/resources/primitive_meshes.h" -#include "scene/resources/ray_shape_3d.h" #include "scene/resources/sphere_shape_3d.h" #include "scene/resources/surface_tool.h" #include "scene/resources/world_margin_shape_3d.h" @@ -145,7 +144,7 @@ Variant EditorNode3DGizmo::get_handle_value(int p_id) const { return gizmo_plugin->get_handle_value(this, p_id); } -void EditorNode3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void EditorNode3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) { if (get_script_instance() && get_script_instance()->has_method("_set_handle")) { get_script_instance()->call("_set_handle", p_id, p_camera, p_point); return; @@ -155,7 +154,7 @@ void EditorNode3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p gizmo_plugin->set_handle(this, p_id, p_camera, p_point); } -void EditorNode3DGizmo::commit_handle(int p_id, const Variant &p_restore, bool p_cancel) const { +void EditorNode3DGizmo::commit_handle(int p_id, const Variant &p_restore, bool p_cancel) { if (get_script_instance() && get_script_instance()->has_method("_commit_handle")) { get_script_instance()->call("_commit_handle", p_id, p_restore, p_cancel); return; @@ -196,7 +195,7 @@ Transform3D EditorNode3DGizmo::get_subgizmo_transform(int p_id) const { return gizmo_plugin->get_subgizmo_transform(this, p_id); } -void EditorNode3DGizmo::set_subgizmo_transform(int p_id, Transform3D p_transform) const { +void EditorNode3DGizmo::set_subgizmo_transform(int p_id, Transform3D p_transform) { if (get_script_instance() && get_script_instance()->has_method("_set_subgizmo_transform")) { get_script_instance()->call("_set_subgizmo_transform", p_id, p_transform); return; @@ -206,7 +205,7 @@ void EditorNode3DGizmo::set_subgizmo_transform(int p_id, Transform3D p_transform gizmo_plugin->set_subgizmo_transform(this, p_id, p_transform); } -void EditorNode3DGizmo::commit_subgizmos(const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel) const { +void EditorNode3DGizmo::commit_subgizmos(const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel) { if (get_script_instance() && get_script_instance()->has_method("_commit_subgizmos")) { Array ids; for (int i = 0; i < p_ids.size(); i++) { @@ -1145,13 +1144,13 @@ Variant EditorNode3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_giz return Variant(); } -void EditorNode3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void EditorNode3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { if (get_script_instance() && get_script_instance()->has_method("_set_handle")) { get_script_instance()->call("_set_handle", p_gizmo, p_id, p_camera, p_point); } } -void EditorNode3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void EditorNode3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { if (get_script_instance() && get_script_instance()->has_method("_commit_handle")) { get_script_instance()->call("_commit_handle", p_gizmo, p_id, p_restore, p_cancel); } @@ -1184,13 +1183,13 @@ Transform3D EditorNode3DGizmoPlugin::get_subgizmo_transform(const EditorNode3DGi return Transform3D(); } -void EditorNode3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) const { +void EditorNode3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) { if (get_script_instance() && get_script_instance()->has_method("_set_subgizmo_transform")) { get_script_instance()->call("_set_subgizmo_transform", p_id, p_transform); } } -void EditorNode3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel) const { +void EditorNode3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel) { if (get_script_instance() && get_script_instance()->has_method("_commit_subgizmos")) { Array ids; for (int i = 0; i < p_ids.size(); i++) { @@ -1310,7 +1309,7 @@ static float _find_closest_angle_to_half_pi_arc(const Vector3 &p_from, const Vec return Math::rad2deg(a); } -void Light3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void Light3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { Light3D *light = Object::cast_to<Light3D>(p_gizmo->get_spatial_node()); Transform3D gt = light->get_global_transform(); Transform3D gi = gt.affine_inverse(); @@ -1354,7 +1353,7 @@ void Light3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, } } -void Light3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void Light3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { Light3D *light = Object::cast_to<Light3D>(p_gizmo->get_spatial_node()); if (p_cancel) { light->set_param(p_id == 0 ? Light3D::PARAM_RANGE : Light3D::PARAM_SPOT_ANGLE, p_restore); @@ -1538,7 +1537,7 @@ Variant AudioStreamPlayer3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo return player->get_emission_angle(); } -void AudioStreamPlayer3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void AudioStreamPlayer3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { AudioStreamPlayer3D *player = Object::cast_to<AudioStreamPlayer3D>(p_gizmo->get_spatial_node()); Transform3D gt = player->get_global_transform(); @@ -1575,7 +1574,7 @@ void AudioStreamPlayer3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo } } -void AudioStreamPlayer3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void AudioStreamPlayer3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { AudioStreamPlayer3D *player = Object::cast_to<AudioStreamPlayer3D>(p_gizmo->get_spatial_node()); if (p_cancel) { @@ -1684,7 +1683,7 @@ Variant Camera3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo, } } -void Camera3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void Camera3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { Camera3D *camera = Object::cast_to<Camera3D>(p_gizmo->get_spatial_node()); Transform3D gt = camera->get_global_transform(); @@ -1713,7 +1712,7 @@ void Camera3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, } } -void Camera3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void Camera3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { Camera3D *camera = Object::cast_to<Camera3D>(p_gizmo->get_spatial_node()); if (camera->get_projection() == Camera3D::PROJECTION_PERSPECTIVE) { @@ -2572,7 +2571,7 @@ Variant SoftBody3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo return Variant(soft_body->is_point_pinned(p_id)); } -void SoftBody3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void SoftBody3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { SoftBody3D *soft_body = Object::cast_to<SoftBody3D>(p_gizmo->get_spatial_node()); soft_body->pin_point_toggle(p_id); } @@ -2628,7 +2627,7 @@ Variant VisibleOnScreenNotifier3DGizmoPlugin::get_handle_value(const EditorNode3 return notifier->get_aabb(); } -void VisibleOnScreenNotifier3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void VisibleOnScreenNotifier3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { VisibleOnScreenNotifier3D *notifier = Object::cast_to<VisibleOnScreenNotifier3D>(p_gizmo->get_spatial_node()); Transform3D gt = notifier->get_global_transform(); @@ -2680,7 +2679,7 @@ void VisibleOnScreenNotifier3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p } } -void VisibleOnScreenNotifier3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void VisibleOnScreenNotifier3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { VisibleOnScreenNotifier3D *notifier = Object::cast_to<VisibleOnScreenNotifier3D>(p_gizmo->get_spatial_node()); if (p_cancel) { @@ -2820,7 +2819,7 @@ Variant GPUParticles3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_g return particles->get_visibility_aabb(); } -void GPUParticles3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void GPUParticles3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { GPUParticles3D *particles = Object::cast_to<GPUParticles3D>(p_gizmo->get_spatial_node()); Transform3D gt = particles->get_global_transform(); @@ -2871,7 +2870,7 @@ void GPUParticles3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int } } -void GPUParticles3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void GPUParticles3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { GPUParticles3D *particles = Object::cast_to<GPUParticles3D>(p_gizmo->get_spatial_node()); if (p_cancel) { @@ -2985,7 +2984,7 @@ Variant GPUParticlesCollision3DGizmoPlugin::get_handle_value(const EditorNode3DG return Variant(); } -void GPUParticlesCollision3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void GPUParticlesCollision3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { Node3D *sn = p_gizmo->get_spatial_node(); Transform3D gt = sn->get_global_transform(); @@ -3031,7 +3030,7 @@ void GPUParticlesCollision3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_g } } -void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { Node3D *sn = p_gizmo->get_spatial_node(); if (Object::cast_to<GPUParticlesCollisionSphere>(sn) || Object::cast_to<GPUParticlesAttractorSphere>(sn)) { @@ -3245,7 +3244,7 @@ Variant ReflectionProbeGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_ return AABB(probe->get_extents(), probe->get_origin_offset()); } -void ReflectionProbeGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void ReflectionProbeGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { ReflectionProbe *probe = Object::cast_to<ReflectionProbe>(p_gizmo->get_spatial_node()); Transform3D gt = probe->get_global_transform(); @@ -3302,7 +3301,7 @@ void ReflectionProbeGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, in } } -void ReflectionProbeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void ReflectionProbeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { ReflectionProbe *probe = Object::cast_to<ReflectionProbe>(p_gizmo->get_spatial_node()); AABB restore = p_restore; @@ -3424,7 +3423,7 @@ Variant DecalGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo, int return decal->get_extents(); } -void DecalGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void DecalGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { Decal *decal = Object::cast_to<Decal>(p_gizmo->get_spatial_node()); Transform3D gt = decal->get_global_transform(); @@ -3455,7 +3454,7 @@ void DecalGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Ca decal->set_extents(extents); } -void DecalGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void DecalGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { Decal *decal = Object::cast_to<Decal>(p_gizmo->get_spatial_node()); Vector3 restore = p_restore; @@ -3564,7 +3563,7 @@ Variant VoxelGIGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo, i return probe->get_extents(); } -void VoxelGIGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void VoxelGIGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { VoxelGI *probe = Object::cast_to<VoxelGI>(p_gizmo->get_spatial_node()); Transform3D gt = probe->get_global_transform(); @@ -3595,7 +3594,7 @@ void VoxelGIGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, probe->set_extents(extents); } -void VoxelGIGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void VoxelGIGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { VoxelGI *probe = Object::cast_to<VoxelGI>(p_gizmo->get_spatial_node()); Vector3 restore = p_restore; @@ -3723,10 +3722,10 @@ Variant LightmapGIGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo return Variant(); } -void LightmapGIGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void LightmapGIGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { } -void LightmapGIGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void LightmapGIGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { } bool LightmapGIGizmoPlugin::has_gizmo(Node3D *p_spatial) { @@ -3905,10 +3904,10 @@ Variant LightmapProbeGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gi return Variant(); } -void LightmapProbeGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void LightmapProbeGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { } -void LightmapProbeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void LightmapProbeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { } bool LightmapProbeGizmoPlugin::has_gizmo(Node3D *p_spatial) { @@ -4081,10 +4080,6 @@ String CollisionShape3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_g return p_id == 0 ? "Radius" : "Height"; } - if (Object::cast_to<RayShape3D>(*s)) { - return "Length"; - } - return ""; } @@ -4116,15 +4111,10 @@ Variant CollisionShape3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p return p_id == 0 ? cs2->get_radius() : cs2->get_height(); } - if (Object::cast_to<RayShape3D>(*s)) { - Ref<RayShape3D> cs2 = s; - return cs2->get_length(); - } - return Variant(); } -void CollisionShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void CollisionShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) { CollisionShape3D *cs = Object::cast_to<CollisionShape3D>(p_gizmo->get_spatial_node()); Ref<Shape3D> s = cs->get_shape(); @@ -4156,22 +4146,6 @@ void CollisionShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, i ss->set_radius(d); } - if (Object::cast_to<RayShape3D>(*s)) { - Ref<RayShape3D> rs = s; - Vector3 ra, rb; - Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(0, 0, 4096), sg[0], sg[1], ra, rb); - float d = ra.z; - if (Node3DEditor::get_singleton()->is_snap_enabled()) { - d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap()); - } - - if (d < 0.001) { - d = 0.001; - } - - rs->set_length(d); - } - if (Object::cast_to<BoxShape3D>(*s)) { Vector3 axis; axis[p_id] = 1.0; @@ -4194,14 +4168,11 @@ void CollisionShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, i if (Object::cast_to<CapsuleShape3D>(*s)) { Vector3 axis; - axis[p_id == 0 ? 0 : 2] = 1.0; + axis[p_id == 0 ? 0 : 1] = 1.0; Ref<CapsuleShape3D> cs2 = s; Vector3 ra, rb; Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb); float d = axis.dot(ra); - if (p_id == 1) { - d -= cs2->get_radius(); - } if (Node3DEditor::get_singleton()->is_snap_enabled()) { d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap()); @@ -4241,7 +4212,7 @@ void CollisionShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, i } } -void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) const { +void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel) { CollisionShape3D *cs = Object::cast_to<CollisionShape3D>(p_gizmo->get_spatial_node()); Ref<Shape3D> s = cs->get_shape(); @@ -4330,20 +4301,6 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo ur->commit_action(); } - - if (Object::cast_to<RayShape3D>(*s)) { - Ref<RayShape3D> ss = s; - if (p_cancel) { - ss->set_length(p_restore); - return; - } - - UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo(); - ur->create_action(TTR("Change Ray Shape Length")); - ur->add_do_method(ss.ptr(), "set_length", ss->get_length()); - ur->add_undo_method(ss.ptr(), "set_length", p_restore); - ur->commit_action(); - } } void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { @@ -4437,7 +4394,7 @@ void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Vector<Vector3> points; - Vector3 d(0, height * 0.5, 0); + Vector3 d(0, height * 0.5 - radius, 0); for (int i = 0; i < 360; i++) { float ra = Math::deg2rad((float)i); float rb = Math::deg2rad((float)i + 1); @@ -4496,7 +4453,7 @@ void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Vector<Vector3> handles; handles.push_back(Vector3(cs2->get_radius(), 0, 0)); - handles.push_back(Vector3(0, cs2->get_height() * 0.5 + cs2->get_radius(), 0)); + handles.push_back(Vector3(0, cs2->get_height() * 0.5, 0)); p_gizmo->add_handles(handles, handles_material); } @@ -4614,19 +4571,6 @@ void CollisionShape3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_collision_segments(cs2->get_debug_mesh_lines()); } - if (Object::cast_to<RayShape3D>(*s)) { - Ref<RayShape3D> rs = s; - - Vector<Vector3> points; - points.push_back(Vector3()); - points.push_back(Vector3(0, 0, rs->get_length())); - p_gizmo->add_lines(points, material); - p_gizmo->add_collision_segments(points); - Vector<Vector3> handles; - handles.push_back(Vector3(0, 0, rs->get_length())); - p_gizmo->add_handles(handles, handles_material); - } - if (Object::cast_to<HeightMapShape3D>(*s)) { Ref<HeightMapShape3D> hms = s; diff --git a/editor/plugins/node_3d_editor_gizmos.h b/editor/plugins/node_3d_editor_gizmos.h index f303a61607..64f46f2b1a 100644 --- a/editor/plugins/node_3d_editor_gizmos.h +++ b/editor/plugins/node_3d_editor_gizmos.h @@ -63,7 +63,7 @@ class EditorNode3DGizmo : public Node3DGizmo { Vector<Vector3> secondary_handles; Vector<int> secondary_handle_ids; - float selectable_icon_size; + real_t selectable_icon_size; bool billboard_handle; bool valid; @@ -91,14 +91,14 @@ public: virtual bool is_handle_highlighted(int p_id) const; virtual String get_handle_name(int p_id) const; virtual Variant get_handle_value(int p_id) const; - virtual void set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) const; - virtual void commit_handle(int p_id, const Variant &p_restore, bool p_cancel = false) const; + virtual void set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point); + virtual void commit_handle(int p_id, const Variant &p_restore, bool p_cancel = false); virtual int subgizmos_intersect_ray(Camera3D *p_camera, const Vector2 &p_point) const; virtual Vector<int> subgizmos_intersect_frustum(const Camera3D *p_camera, const Vector<Plane> &p_frustum) const; virtual Transform3D get_subgizmo_transform(int p_id) const; - virtual void set_subgizmo_transform(int p_id, Transform3D p_transform) const; - virtual void commit_subgizmos(const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel = false) const; + virtual void set_subgizmo_transform(int p_id, Transform3D p_transform); + virtual void commit_subgizmos(const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel = false); void set_selected(bool p_selected) { selected = p_selected; } bool is_selected() const { return selected; } @@ -161,14 +161,14 @@ public: virtual bool is_handle_highlighted(const EditorNode3DGizmo *p_gizmo, int p_id) const; virtual String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const; virtual Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const; - virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const; - virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const; + virtual void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point); + virtual void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false); virtual int subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const; virtual Vector<int> subgizmos_intersect_frustum(const EditorNode3DGizmo *p_gizmo, const Camera3D *p_camera, const Vector<Plane> &p_frustum) const; virtual Transform3D get_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id) const; - virtual void set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) const; - virtual void commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel = false) const; + virtual void set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform); + virtual void commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel = false); Ref<EditorNode3DGizmo> get_gizmo(Node3D *p_spatial); void set_state(int p_state); @@ -189,8 +189,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; void redraw(EditorNode3DGizmo *p_gizmo) override; Light3DGizmoPlugin(); @@ -206,8 +206,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; void redraw(EditorNode3DGizmo *p_gizmo) override; AudioStreamPlayer3DGizmoPlugin(); @@ -223,8 +223,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; void redraw(EditorNode3DGizmo *p_gizmo) override; Camera3DGizmoPlugin(); @@ -355,7 +355,7 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; bool is_handle_highlighted(const EditorNode3DGizmo *p_gizmo, int p_id) const override; SoftBody3DGizmoPlugin(); @@ -372,8 +372,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; VisibleOnScreenNotifier3DGizmoPlugin(); }; @@ -402,8 +402,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; GPUParticles3DGizmoPlugin(); }; @@ -419,8 +419,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; GPUParticlesCollision3DGizmoPlugin(); }; @@ -436,8 +436,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; ReflectionProbeGizmoPlugin(); }; @@ -453,8 +453,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; DecalGizmoPlugin(); }; @@ -470,8 +470,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; VoxelGIGizmoPlugin(); }; @@ -487,8 +487,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; LightmapGIGizmoPlugin(); }; @@ -504,8 +504,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; LightmapProbeGizmoPlugin(); }; @@ -533,8 +533,8 @@ public: String get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const override; Variant get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const override; - void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) const override; + void set_handle(const EditorNode3DGizmo *p_gizmo, int p_id, Camera3D *p_camera, const Point2 &p_point) override; + void commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id, const Variant &p_restore, bool p_cancel = false) override; CollisionShape3DGizmoPlugin(); }; diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 5ed8205475..e9a67491aa 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -122,31 +122,28 @@ void ViewportRotationControl::_draw() { } void ViewportRotationControl::_draw_axis(const Axis2D &p_axis) { - bool focused = focused_axis == p_axis.axis; - bool positive = p_axis.axis < 3; - bool front = (Math::abs(p_axis.z_axis) <= 0.001 && positive) || p_axis.z_axis > 0.001; - int direction = p_axis.axis % 3; + const bool focused = focused_axis == p_axis.axis; + const bool positive = p_axis.axis < 3; + const int direction = p_axis.axis % 3; - Color axis_color = axis_colors[direction]; - - if (!front) { - axis_color = axis_color.darkened(0.4); - } - Color c = focused ? Color(0.9, 0.9, 0.9) : axis_color; + const Color axis_color = axis_colors[direction]; + const double alpha = focused ? 1.0 : ((p_axis.z_axis + 1.0) / 2.0) * 0.5 + 0.5; + const Color c = focused ? Color(0.9, 0.9, 0.9) : Color(axis_color.r, axis_color.g, axis_color.b, alpha); if (positive) { - Vector2i center = get_size() / 2.0; + // Draw axis lines for the positive axes. + const Vector2i center = get_size() / 2.0; draw_line(center, p_axis.screen_point, c, 1.5 * EDSCALE); - } - if (front) { draw_circle(p_axis.screen_point, AXIS_CIRCLE_RADIUS, c); - if (positive) { - String axis_name = direction == 0 ? "X" : (direction == 1 ? "Y" : "Z"); - draw_char(get_theme_font(SNAME("rotation_control"), SNAME("EditorFonts")), p_axis.screen_point + Vector2i(-4, 5) * EDSCALE, axis_name, "", get_theme_font_size(SNAME("rotation_control_size"), SNAME("EditorFonts")), Color(0.0, 0.0, 0.0)); - } + + // Draw the axis letter for the positive axes. + const String axis_name = direction == 0 ? "X" : (direction == 1 ? "Y" : "Z"); + draw_char(get_theme_font(SNAME("rotation_control"), SNAME("EditorFonts")), p_axis.screen_point + Vector2i(-4, 5) * EDSCALE, axis_name, "", get_theme_font_size(SNAME("rotation_control_size"), SNAME("EditorFonts")), Color(0.0, 0.0, 0.0, alpha)); } else { - draw_circle(p_axis.screen_point, AXIS_CIRCLE_RADIUS * (0.55 + (0.2 * (1.0 + p_axis.z_axis))), c); + // Draw an outline around the negative axes. + draw_circle(p_axis.screen_point, AXIS_CIRCLE_RADIUS, c); + draw_circle(p_axis.screen_point, AXIS_CIRCLE_RADIUS * 0.8, c.darkened(0.4)); } } @@ -2460,7 +2457,7 @@ static bool is_shortcut_pressed(const String &p_path) { return false; } const Input &input = *Input::get_singleton(); - int keycode = k->get_keycode(); + Key keycode = k->get_keycode(); return input.is_key_pressed(keycode); } @@ -2738,7 +2735,7 @@ void Node3DEditorViewport::_notification(int p_what) { if (show_fps) { cpu_time_history[cpu_time_history_index] = RS::get_singleton()->viewport_get_measured_render_time_cpu(viewport->get_viewport_rid()); cpu_time_history_index = (cpu_time_history_index + 1) % FRAME_TIME_HISTORY; - float cpu_time = 0.0; + double cpu_time = 0.0; for (int i = 0; i < FRAME_TIME_HISTORY; i++) { cpu_time += cpu_time_history[i]; } @@ -2748,7 +2745,7 @@ void Node3DEditorViewport::_notification(int p_what) { gpu_time_history[gpu_time_history_index] = RS::get_singleton()->viewport_get_measured_render_time_gpu(viewport->get_viewport_rid()); gpu_time_history_index = (gpu_time_history_index + 1) % FRAME_TIME_HISTORY; - float gpu_time = 0.0; + double gpu_time = 0.0; for (int i = 0; i < FRAME_TIME_HISTORY; i++) { gpu_time += gpu_time_history[i]; } @@ -2772,7 +2769,7 @@ void Node3DEditorViewport::_notification(int p_what) { frame_time_gradient->get_color_at_offset( Math::range_lerp(gpu_time, 0, 30, 0, 1))); - const float fps = 1000.0 / gpu_time; + const double fps = 1000.0 / gpu_time; fps_label->set_text(vformat(TTR("FPS: %d"), fps)); // Middle point is at 60 FPS. fps_label->add_theme_color_override( @@ -3190,7 +3187,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { int idx = view_menu->get_popup()->get_item_index(VIEW_AUDIO_LISTENER); bool current = view_menu->get_popup()->is_item_checked(idx); current = !current; - viewport->set_as_audio_listener(current); + viewport->set_as_audio_listener_3d(current); view_menu->get_popup()->set_item_checked(idx, current); } break; @@ -3637,7 +3634,7 @@ void Node3DEditorViewport::set_state(const Dictionary &p_state) { bool listener = p_state["listener"]; int idx = view_menu->get_popup()->get_item_index(VIEW_AUDIO_LISTENER); - viewport->set_as_audio_listener(listener); + viewport->set_as_audio_listener_3d(listener); view_menu->get_popup()->set_item_checked(idx, listener); } if (p_state.has("doppler")) { @@ -3721,7 +3718,7 @@ Dictionary Node3DEditorViewport::get_state() const { } else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_SHADELESS))) { d["display_mode"] = VIEW_DISPLAY_SHADELESS; } - d["listener"] = viewport->is_audio_listener(); + d["listener"] = viewport->is_audio_listener_3d(); d["doppler"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_DOPPLER)); d["gizmos"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_GIZMOS)); d["information"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION)); @@ -4033,7 +4030,7 @@ bool Node3DEditorViewport::can_drop_data_fw(const Point2 &p_point, const Variant continue; } memdelete(instantiated_scene); - } else if (type == "Mesh" || type == "ArrayMesh" || type == "PrimitiveMesh") { + } else if (ClassDB::is_parent_class(type, "Mesh")) { Ref<Mesh> mesh = ResourceLoader::load(files[i]); if (!mesh.is_valid()) { continue; @@ -4366,7 +4363,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, Edito if (p_index == 0) { view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_LISTENER), true); - viewport->set_as_audio_listener(true); + viewport->set_as_audio_listener_3d(true); } name = ""; @@ -5511,6 +5508,12 @@ void Node3DEditor::_init_indicators() { Vector<Color> origin_colors; Vector<Vector3> origin_points; + const int count_of_elements = 3 * 6; + origin_colors.resize(count_of_elements); + origin_points.resize(count_of_elements); + + int x = 0; + for (int i = 0; i < 3; i++) { Vector3 axis; axis[i] = 1; @@ -5533,21 +5536,22 @@ void Node3DEditor::_init_indicators() { grid_enable[i] = false; grid_visible[i] = false; - origin_colors.push_back(origin_color); - origin_colors.push_back(origin_color); - origin_colors.push_back(origin_color); - origin_colors.push_back(origin_color); - origin_colors.push_back(origin_color); - origin_colors.push_back(origin_color); + origin_colors.set(x, origin_color); + origin_colors.set(x + 1, origin_color); + origin_colors.set(x + 2, origin_color); + origin_colors.set(x + 3, origin_color); + origin_colors.set(x + 4, origin_color); + origin_colors.set(x + 5, origin_color); // To both allow having a large origin size and avoid jitter // at small scales, we should segment the line into pieces. // 3 pieces seems to do the trick, and let's use powers of 2. - origin_points.push_back(axis * 1048576); - origin_points.push_back(axis * 1024); - origin_points.push_back(axis * 1024); - origin_points.push_back(axis * -1024); - origin_points.push_back(axis * -1024); - origin_points.push_back(axis * -1048576); + origin_points.set(x, axis * 1048576); + origin_points.set(x + 1, axis * 1024); + origin_points.set(x + 2, axis * 1024); + origin_points.set(x + 3, axis * -1024); + origin_points.set(x + 4, axis * -1024); + origin_points.set(x + 5, axis * -1048576); + x += 6; } Ref<Shader> grid_shader = memnew(Shader); @@ -6124,6 +6128,32 @@ void Node3DEditor::_init_grid() { grid_mat[c]->set_shader_param("grid_size", grid_fade_size); grid_mat[c]->set_shader_param("orthogonal", orthogonal); + // Cache these so we don't have to re-access memory. + Vector<Vector3> &ref_grid = grid_points[c]; + Vector<Vector3> &ref_grid_normals = grid_normals[c]; + Vector<Color> &ref_grid_colors = grid_colors[c]; + + // Count our elements same as code below it. + int expected_size = 0; + for (int i = -grid_size; i <= grid_size; i++) { + const real_t position_a = center_a + i * small_step_size; + const real_t position_b = center_b + i * small_step_size; + + // Don't draw lines over the origin if it's enabled. + if (!(origin_enabled && Math::is_zero_approx(position_a))) { + expected_size += 2; + } + + if (!(origin_enabled && Math::is_zero_approx(position_b))) { + expected_size += 2; + } + } + + int idx = 0; + ref_grid.resize(expected_size); + ref_grid_normals.resize(expected_size); + ref_grid_colors.resize(expected_size); + // In each iteration of this loop, draw one line in each direction (so two lines per loop, in each if statement). for (int i = -grid_size; i <= grid_size; i++) { Color line_color; @@ -6146,12 +6176,13 @@ void Node3DEditor::_init_grid() { line_end[a] = position_a; line_bgn[b] = bgn_b; line_end[b] = end_b; - grid_points[c].push_back(line_bgn); - grid_points[c].push_back(line_end); - grid_colors[c].push_back(line_color); - grid_colors[c].push_back(line_color); - grid_normals[c].push_back(normal); - grid_normals[c].push_back(normal); + ref_grid.set(idx, line_bgn); + ref_grid.set(idx + 1, line_end); + ref_grid_colors.set(idx, line_color); + ref_grid_colors.set(idx + 1, line_color); + ref_grid_normals.set(idx, normal); + ref_grid_normals.set(idx + 1, normal); + idx += 2; } if (!(origin_enabled && Math::is_zero_approx(position_b))) { @@ -6161,12 +6192,13 @@ void Node3DEditor::_init_grid() { line_end[b] = position_b; line_bgn[a] = bgn_a; line_end[a] = end_a; - grid_points[c].push_back(line_bgn); - grid_points[c].push_back(line_end); - grid_colors[c].push_back(line_color); - grid_colors[c].push_back(line_color); - grid_normals[c].push_back(normal); - grid_normals[c].push_back(normal); + ref_grid.set(idx, line_bgn); + ref_grid.set(idx + 1, line_end); + ref_grid_colors.set(idx, line_color); + ref_grid_colors.set(idx + 1, line_color); + ref_grid_normals.set(idx, normal); + ref_grid_normals.set(idx + 1, normal); + idx += 2; } } @@ -6204,8 +6236,22 @@ void Node3DEditor::_finish_grid() { } void Node3DEditor::update_grid() { - _finish_grid(); - _init_grid(); + const Camera3D::Projection current_projection = viewports[0]->camera->get_projection(); + + if (current_projection != grid_camera_last_update_perspective) { + grid_init_draw = false; // redraw + grid_camera_last_update_perspective = current_projection; + } + + // Gets a orthogonal or perspective position correctly (for the grid comparison) + const Vector3 camera_position = get_editor_viewport(0)->camera->get_position(); + + if (!grid_init_draw || (camera_position - grid_camera_last_update_position).length() >= 10.0f) { + _finish_grid(); + _init_grid(); + grid_init_draw = true; + grid_camera_last_update_position = camera_position; + } } void Node3DEditor::_selection_changed() { @@ -6823,7 +6869,7 @@ void Node3DEditor::clear() { for (uint32_t i = 0; i < VIEWPORTS_COUNT; i++) { viewports[i]->view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(Node3DEditorViewport::VIEW_AUDIO_LISTENER), i == 0); - viewports[i]->viewport->set_as_audio_listener(i == 0); + viewports[i]->viewport->set_as_audio_listener_3d(i == 0); } view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(MENU_VIEW_GRID), true); diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index cb2edbcbc1..094aa5662f 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -35,6 +35,7 @@ #include "editor/editor_plugin.h" #include "editor/editor_scale.h" #include "editor/plugins/node_3d_editor_gizmos.h" +#include "scene/3d/camera_3d.h" #include "scene/3d/light_3d.h" #include "scene/3d/visual_instance_3d.h" #include "scene/3d/world_environment.h" @@ -42,7 +43,6 @@ #include "scene/resources/environment.h" #include "scene/resources/sky_material.h" -class Camera3D; class Node3DEditor; class Node3DEditorViewport; class SubViewportContainer; @@ -166,9 +166,9 @@ public: }; private: - float cpu_time_history[FRAME_TIME_HISTORY]; + double cpu_time_history[FRAME_TIME_HISTORY]; int cpu_time_history_index; - float gpu_time_history[FRAME_TIME_HISTORY]; + double gpu_time_history[FRAME_TIME_HISTORY]; int gpu_time_history_index; int index; @@ -336,7 +336,7 @@ private: String last_message; String message; - float message_time; + double message_time; void set_message(String p_message, float p_time = 5); @@ -521,6 +521,9 @@ private: bool grid_visible[3]; //currently visible bool grid_enable[3]; //should be always visible if true bool grid_enabled; + bool grid_init_draw = false; + Camera3D::Projection grid_camera_last_update_perspective; + Vector3 grid_camera_last_update_position = Vector3(); Ref<ArrayMesh> move_gizmo[3], move_plane_gizmo[3], rotate_gizmo[4], scale_gizmo[3], scale_plane_gizmo[3]; Ref<StandardMaterial3D> gizmo_color[3]; @@ -622,7 +625,6 @@ private: void _menu_gizmo_toggled(int p_option); void _update_camera_override_button(bool p_game_running); void _update_camera_override_viewport(Object *p_viewport); - HBoxContainer *hbc_menu; // Used for secondary menu items which are displayed depending on the currently selected node // (such as MeshInstance's "Mesh" menu). diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index 63b89aea35..13f7908170 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -88,7 +88,7 @@ Variant Path3DGizmo::get_handle_value(int p_id) const { return ofs; } -void Path3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) const { +void Path3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) { Ref<Curve3D> c = path->get_curve(); if (c.is_null()) { return; @@ -157,7 +157,7 @@ void Path3DGizmo::set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point } } -void Path3DGizmo::commit_handle(int p_id, const Variant &p_restore, bool p_cancel) const { +void Path3DGizmo::commit_handle(int p_id, const Variant &p_restore, bool p_cancel) { Ref<Curve3D> c = path->get_curve(); if (c.is_null()) { return; diff --git a/editor/plugins/path_3d_editor_plugin.h b/editor/plugins/path_3d_editor_plugin.h index 5902500526..b74d7cc59e 100644 --- a/editor/plugins/path_3d_editor_plugin.h +++ b/editor/plugins/path_3d_editor_plugin.h @@ -47,8 +47,8 @@ class Path3DGizmo : public EditorNode3DGizmo { public: virtual String get_handle_name(int p_idx) const override; virtual Variant get_handle_value(int p_id) const override; - virtual void set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) const override; - virtual void commit_handle(int p_id, const Variant &p_restore, bool p_cancel = false) const override; + virtual void set_handle(int p_id, Camera3D *p_camera, const Point2 &p_point) override; + virtual void commit_handle(int p_id, const Variant &p_restore, bool p_cancel = false) override; virtual void redraw() override; Path3DGizmo(Path3D *p_path = nullptr); diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 668a15da37..e6762826dd 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -3409,8 +3409,8 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { ED_SHORTCUT("script_editor/window_sort", TTR("Sort")); ED_SHORTCUT("script_editor/window_move_up", TTR("Move Up"), KEY_MASK_SHIFT | KEY_MASK_ALT | KEY_UP); ED_SHORTCUT("script_editor/window_move_down", TTR("Move Down"), KEY_MASK_SHIFT | KEY_MASK_ALT | KEY_DOWN); - ED_SHORTCUT("script_editor/next_script", TTR("Next script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_PERIOD); // these should be KEY_GREATER and KEY_LESS but those don't work - ED_SHORTCUT("script_editor/prev_script", TTR("Previous script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_COMMA); + ED_SHORTCUT("script_editor/next_script", TTR("Next Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_PERIOD); // these should be KEY_GREATER and KEY_LESS but those don't work + ED_SHORTCUT("script_editor/prev_script", TTR("Previous Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_COMMA); set_process_unhandled_key_input(true); file_menu = memnew(MenuButton); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 5bbe56a800..1d7592d2c3 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -33,6 +33,7 @@ #include "core/math/expression.h" #include "core/os/keyboard.h" #include "editor/debugger/editor_debugger_node.h" +#include "editor/editor_command_palette.h" #include "editor/editor_node.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" @@ -240,14 +241,14 @@ void ScriptTextEditor::_warning_clicked(Variant p_line) { 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_at("# warning-ignore:" + meta["code"].operator String(), meta["line"].operator int64_t() - 1); + code_editor->get_text_editor()->insert_line_at(meta["line"].operator int64_t() - 1, "# warning-ignore:" + meta["code"].operator String()); _validate_script(); } } void ScriptTextEditor::_error_clicked(Variant p_line) { if (p_line.get_type() == Variant::INT) { - code_editor->get_text_editor()->cursor_set_line(p_line.operator int64_t()); + code_editor->get_text_editor()->set_caret_line(p_line.operator int64_t()); } } @@ -255,14 +256,14 @@ void ScriptTextEditor::reload_text() { ERR_FAIL_COND(script.is_null()); CodeEdit *te = code_editor->get_text_editor(); - int column = te->cursor_get_column(); - int row = te->cursor_get_line(); + int column = te->get_caret_column(); + int row = te->get_caret_line(); int h = te->get_h_scroll(); int v = te->get_v_scroll(); te->set_text(script->get_source_code()); - te->cursor_set_line(row); - te->cursor_set_column(column); + te->set_caret_line(row); + te->set_caret_column(column); te->set_h_scroll(h); te->set_v_scroll(v); @@ -280,12 +281,12 @@ void ScriptTextEditor::add_callback(const String &p_function, PackedStringArray pos = code_editor->get_text_editor()->get_line_count() + 2; String func = script->get_language()->make_function("", p_function, p_args); //code=code+func; - code_editor->get_text_editor()->cursor_set_line(pos + 1); - code_editor->get_text_editor()->cursor_set_column(1000000); //none shall be that big - code_editor->get_text_editor()->insert_text_at_cursor("\n\n" + func); + code_editor->get_text_editor()->set_caret_line(pos + 1); + code_editor->get_text_editor()->set_caret_column(1000000); //none shall be that big + code_editor->get_text_editor()->insert_text_at_caret("\n\n" + func); } - code_editor->get_text_editor()->cursor_set_line(pos); - code_editor->get_text_editor()->cursor_set_column(1); + code_editor->get_text_editor()->set_caret_line(pos); + code_editor->get_text_editor()->set_caret_column(1); } bool ScriptTextEditor::show_members_overview() { @@ -725,7 +726,7 @@ void ScriptTextEditor::_breakpoint_item_pressed(int p_idx) { _edit_option(breakpoints_menu->get_item_id(p_idx)); } else { code_editor->goto_line(breakpoints_menu->get_item_metadata(p_idx)); - code_editor->get_text_editor()->call_deferred(SNAME("center_viewport_to_cursor")); //Need to be deferred, because goto uses call_deferred(). + code_editor->get_text_editor()->call_deferred(SNAME("center_viewport_to_caret")); //Need to be deferred, because goto uses call_deferred(). } } @@ -883,7 +884,7 @@ void ScriptTextEditor::update_toggle_scripts_button() { void ScriptTextEditor::_update_connected_methods() { CodeEdit *text_edit = code_editor->get_text_editor(); - text_edit->set_gutter_width(connection_gutter, text_edit->get_row_height()); + text_edit->set_gutter_width(connection_gutter, text_edit->get_line_height()); for (int i = 0; i < text_edit->get_line_count(); i++) { if (text_edit->get_line_gutter_metadata(i, connection_gutter) == "") { continue; @@ -1053,7 +1054,7 @@ void ScriptTextEditor::_edit_option(int p_op) { code_editor->duplicate_selection(); } break; case EDIT_TOGGLE_FOLD_LINE: { - tx->toggle_foldable_line(tx->cursor_get_line()); + tx->toggle_foldable_line(tx->get_caret_line()); tx->update(); } break; case EDIT_FOLD_ALL_LINES: { @@ -1061,7 +1062,7 @@ void ScriptTextEditor::_edit_option(int p_op) { tx->update(); } break; case EDIT_UNFOLD_ALL_LINES: { - tx->unhide_all_lines(); + tx->unfold_all_lines(); tx->update(); } break; case EDIT_TOGGLE_COMMENT: { @@ -1079,7 +1080,7 @@ void ScriptTextEditor::_edit_option(int p_op) { tx->begin_complex_operation(); int begin, end; - if (tx->is_selection_active()) { + if (tx->has_selection()) { begin = tx->get_selection_from_line(); end = tx->get_selection_to_line(); // ignore if the cursor is not past the first column @@ -1121,7 +1122,7 @@ void ScriptTextEditor::_edit_option(int p_op) { } break; case EDIT_EVALUATE: { Expression expression; - Vector<String> lines = code_editor->get_text_editor()->get_selection_text().split("\n"); + Vector<String> lines = code_editor->get_text_editor()->get_selected_text().split("\n"); PackedStringArray results; for (int i = 0; i < lines.size(); i++) { @@ -1141,7 +1142,7 @@ void ScriptTextEditor::_edit_option(int p_op) { } code_editor->get_text_editor()->begin_complex_operation(); //prevents creating a two-step undo - code_editor->get_text_editor()->insert_text_at_cursor(String("\n").join(results)); + code_editor->get_text_editor()->insert_text_at_caret(String("\n").join(results)); code_editor->get_text_editor()->end_complex_operation(); } break; case SEARCH_FIND: { @@ -1157,14 +1158,14 @@ void ScriptTextEditor::_edit_option(int p_op) { code_editor->get_find_replace_bar()->popup_replace(); } break; case SEARCH_IN_FILES: { - String selected_text = code_editor->get_text_editor()->get_selection_text(); + String selected_text = code_editor->get_text_editor()->get_selected_text(); // Yep, because it doesn't make sense to instance this dialog for every single script open... // So this will be delegated to the ScriptEditor. emit_signal(SNAME("search_in_files_requested"), selected_text); } break; case REPLACE_IN_FILES: { - String selected_text = code_editor->get_text_editor()->get_selection_text(); + String selected_text = code_editor->get_text_editor()->get_selected_text(); emit_signal(SNAME("replace_in_files_requested"), selected_text); } break; @@ -1188,7 +1189,7 @@ void ScriptTextEditor::_edit_option(int p_op) { code_editor->remove_all_bookmarks(); } break; case DEBUG_TOGGLE_BREAKPOINT: { - int line = tx->cursor_get_line(); + int line = tx->get_caret_line(); bool dobreak = !tx->is_line_breakpointed(line); tx->set_line_as_breakpoint(line, dobreak); EditorDebuggerNode::get_singleton()->set_breakpoint(script->get_path(), line + 1, dobreak); @@ -1209,20 +1210,20 @@ void ScriptTextEditor::_edit_option(int p_op) { return; } - int line = tx->cursor_get_line(); + int line = tx->get_caret_line(); // wrap around if (line >= (int)bpoints[bpoints.size() - 1]) { tx->unfold_line(bpoints[0]); - tx->cursor_set_line(bpoints[0]); - tx->center_viewport_to_cursor(); + tx->set_caret_line(bpoints[0]); + tx->center_viewport_to_caret(); } else { for (int i = 0; i < bpoints.size(); i++) { int bline = bpoints[i]; if (bline > line) { tx->unfold_line(bline); - tx->cursor_set_line(bline); - tx->center_viewport_to_cursor(); + tx->set_caret_line(bline); + tx->center_viewport_to_caret(); return; } } @@ -1235,19 +1236,19 @@ void ScriptTextEditor::_edit_option(int p_op) { return; } - int line = tx->cursor_get_line(); + int line = tx->get_caret_line(); // wrap around if (line <= (int)bpoints[0]) { tx->unfold_line(bpoints[bpoints.size() - 1]); - tx->cursor_set_line(bpoints[bpoints.size() - 1]); - tx->center_viewport_to_cursor(); + tx->set_caret_line(bpoints[bpoints.size() - 1]); + tx->center_viewport_to_caret(); } else { for (int i = bpoints.size(); i >= 0; i--) { int bline = bpoints[i]; if (bline < line) { tx->unfold_line(bline); - tx->cursor_set_line(bline); - tx->center_viewport_to_cursor(); + tx->set_caret_line(bline); + tx->center_viewport_to_caret(); return; } } @@ -1255,21 +1256,21 @@ void ScriptTextEditor::_edit_option(int p_op) { } break; case HELP_CONTEXTUAL: { - String text = tx->get_selection_text(); + String text = tx->get_selected_text(); if (text == "") { - text = tx->get_word_under_cursor(); + text = tx->get_word_under_caret(); } if (text != "") { emit_signal(SNAME("request_help"), text); } } break; case LOOKUP_SYMBOL: { - String text = tx->get_word_under_cursor(); + String text = tx->get_word_under_caret(); if (text == "") { - text = tx->get_selection_text(); + text = tx->get_selected_text(); } if (text != "") { - _lookup_symbol(text, tx->cursor_get_line(), tx->cursor_get_column()); + _lookup_symbol(text, tx->get_caret_line(), tx->get_caret_column()); } } break; } @@ -1324,7 +1325,7 @@ void ScriptTextEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_ENTER_TREE: { - code_editor->get_text_editor()->set_gutter_width(connection_gutter, code_editor->get_text_editor()->get_row_height()); + code_editor->get_text_editor()->set_gutter_width(connection_gutter, code_editor->get_text_editor()->get_line_height()); } break; default: break; @@ -1389,6 +1390,7 @@ bool ScriptTextEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_ if (d.has("type") && (String(d["type"]) == "resource" || String(d["type"]) == "files" || String(d["type"]) == "nodes" || + String(d["type"]) == "obj_property" || String(d["type"]) == "files_and_dirs")) { return true; } @@ -1418,11 +1420,14 @@ static Node *_find_script_node(Node *p_edited_scene, Node *p_current_node, const } void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { + const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\""; + Dictionary d = p_data; CodeEdit *te = code_editor->get_text_editor(); - int row, col; - te->_get_mouse_pos(p_point, row, col); + Point2i pos = te->get_line_column_at_pos(p_point); + int row = pos.y; + int col = pos.x; if (d.has("type") && String(d["type"]) == "resource") { Ref<Resource> res = d["resource"]; @@ -1435,13 +1440,12 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data return; } - te->cursor_set_line(row); - te->cursor_set_column(col); - te->insert_text_at_cursor(res->get_path()); + te->set_caret_line(row); + te->set_caret_column(col); + te->insert_text_at_caret(res->get_path()); } if (d.has("type") && (String(d["type"]) == "files" || String(d["type"]) == "files_and_dirs")) { - const String quote_style = EDITOR_DEF("text_editor/completion/use_single_quotes", false) ? "'" : "\""; Array files = d["files"]; String text_to_drop; @@ -1458,9 +1462,9 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data } } - te->cursor_set_line(row); - te->cursor_set_column(col); - te->insert_text_at_cursor(text_to_drop); + te->set_caret_line(row); + te->set_caret_column(col); + te->insert_text_at_caret(text_to_drop); } if (d.has("type") && String(d["type"]) == "nodes") { @@ -1485,12 +1489,20 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data } String path = sn->get_path_to(node); - text_to_drop += "\"" + path.c_escape() + "\""; + text_to_drop += path.c_escape().quote(quote_style); } - te->cursor_set_line(row); - te->cursor_set_column(col); - te->insert_text_at_cursor(text_to_drop); + te->set_caret_line(row); + te->set_caret_column(col); + te->insert_text_at_caret(text_to_drop); + } + + if (d.has("type") && String(d["type"]) == "obj_property") { + const String text_to_drop = String(d["property"]).c_escape().quote(quote_style); + + te->set_caret_line(row); + te->set_caret_column(col); + te->insert_text_at_caret(text_to_drop); } } @@ -1504,18 +1516,20 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid() && mb->get_button_index() == MOUSE_BUTTON_RIGHT && mb->is_pressed()) { local_pos = mb->get_global_position() - tx->get_global_position(); create_menu = true; - } else if (k.is_valid() && k->get_keycode() == KEY_MENU) { - local_pos = tx->_get_cursor_pixel_pos(); + } else if (k.is_valid() && k->is_action("ui_menu", true)) { + tx->adjust_viewport_to_caret(); + local_pos = tx->get_caret_draw_pos(); create_menu = true; } if (create_menu) { - int col, row; - tx->_get_mouse_pos(local_pos, row, col); + Point2i pos = tx->get_line_column_at_pos(local_pos); + int row = pos.y; + int col = pos.x; - tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); - if (tx->is_right_click_moving_caret()) { - if (tx->is_selection_active()) { + tx->set_move_caret_on_right_click_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + if (tx->is_move_caret_on_right_click_enabled()) { + if (tx->has_selection()) { int from_line = tx->get_selection_from_line(); int to_line = tx->get_selection_to_line(); int from_column = tx->get_selection_from_column(); @@ -1526,18 +1540,18 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { tx->deselect(); } } - if (!tx->is_selection_active()) { - tx->cursor_set_line(row, true, false); - tx->cursor_set_column(col); + if (!tx->has_selection()) { + tx->set_caret_line(row, false, false); + tx->set_caret_column(col); } } String word_at_pos = tx->get_word_at_pos(local_pos); if (word_at_pos == "") { - word_at_pos = tx->get_word_under_cursor(); + word_at_pos = tx->get_word_under_caret(); } if (word_at_pos == "") { - word_at_pos = tx->get_selection_text(); + word_at_pos = tx->get_selected_text(); } bool has_color = (word_at_pos == "Color"); @@ -1589,7 +1603,7 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { has_color = false; } } - _make_context_menu(tx->is_selection_active(), has_color, foldable, open_docs, goto_definition, local_pos); + _make_context_menu(tx->has_selection(), has_color, foldable, open_docs, goto_definition, local_pos); } } @@ -1924,12 +1938,12 @@ void ScriptTextEditor::register_editor() { // Leave these at zero, same can be accomplished with tab/shift-tab, including selection. // The next/previous in history shortcut in this case makes a lot more sense. - ED_SHORTCUT("script_text_editor/indent_left", TTR("Indent Left"), 0); - ED_SHORTCUT("script_text_editor/indent_right", TTR("Indent Right"), 0); + ED_SHORTCUT("script_text_editor/indent_left", TTR("Indent Left"), KEY_NONE); + ED_SHORTCUT("script_text_editor/indent_right", TTR("Indent Right"), KEY_NONE); ED_SHORTCUT("script_text_editor/toggle_comment", TTR("Toggle Comment"), KEY_MASK_CMD | KEY_K); ED_SHORTCUT("script_text_editor/toggle_fold_line", TTR("Fold/Unfold Line"), KEY_MASK_ALT | KEY_F); - ED_SHORTCUT("script_text_editor/fold_all_lines", TTR("Fold All Lines"), 0); - ED_SHORTCUT("script_text_editor/unfold_all_lines", TTR("Unfold All Lines"), 0); + ED_SHORTCUT("script_text_editor/fold_all_lines", TTR("Fold All Lines"), KEY_NONE); + ED_SHORTCUT("script_text_editor/unfold_all_lines", TTR("Unfold All Lines"), KEY_NONE); #ifdef OSX_ENABLED ED_SHORTCUT("script_text_editor/duplicate_selection", TTR("Duplicate Selection"), KEY_MASK_SHIFT | KEY_MASK_CMD | KEY_C); #else @@ -1941,15 +1955,15 @@ void ScriptTextEditor::register_editor() { ED_SHORTCUT("script_text_editor/convert_indent_to_tabs", TTR("Convert Indent to Tabs"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_I); ED_SHORTCUT("script_text_editor/auto_indent", TTR("Auto Indent"), KEY_MASK_CMD | KEY_I); - ED_SHORTCUT("script_text_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F); + ED_SHORTCUT_AND_COMMAND("script_text_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F); #ifdef OSX_ENABLED ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_MASK_CMD | KEY_G); ED_SHORTCUT("script_text_editor/find_previous", TTR("Find Previous"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_G); - ED_SHORTCUT("script_text_editor/replace", TTR("Replace..."), KEY_MASK_ALT | KEY_MASK_CMD | KEY_F); + ED_SHORTCUT_AND_COMMAND("script_text_editor/replace", TTR("Replace..."), KEY_MASK_ALT | KEY_MASK_CMD | KEY_F); #else ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_F3); ED_SHORTCUT("script_text_editor/find_previous", TTR("Find Previous"), KEY_MASK_SHIFT | KEY_F3); - ED_SHORTCUT("script_text_editor/replace", TTR("Replace..."), KEY_MASK_CMD | KEY_R); + ED_SHORTCUT_AND_COMMAND("script_text_editor/replace", TTR("Replace..."), KEY_MASK_CMD | KEY_R); #endif ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in Files..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F); @@ -1964,7 +1978,7 @@ void ScriptTextEditor::register_editor() { ED_SHORTCUT("script_text_editor/toggle_bookmark", TTR("Toggle Bookmark"), KEY_MASK_CMD | KEY_MASK_ALT | KEY_B); ED_SHORTCUT("script_text_editor/goto_next_bookmark", TTR("Go to Next Bookmark"), KEY_MASK_CMD | KEY_B); ED_SHORTCUT("script_text_editor/goto_previous_bookmark", TTR("Go to Previous Bookmark"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B); - ED_SHORTCUT("script_text_editor/remove_all_bookmarks", TTR("Remove All Bookmarks"), 0); + ED_SHORTCUT("script_text_editor/remove_all_bookmarks", TTR("Remove All Bookmarks"), KEY_NONE); #ifdef OSX_ENABLED ED_SHORTCUT("script_text_editor/goto_function", TTR("Go to Function..."), KEY_MASK_CTRL | KEY_MASK_CMD | KEY_J); diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 95973f9dfd..29436e32b2 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -74,14 +74,14 @@ void ShaderTextEditor::reload_text() { ERR_FAIL_COND(shader.is_null()); CodeEdit *te = get_text_editor(); - int column = te->cursor_get_column(); - int row = te->cursor_get_line(); + int column = te->get_caret_column(); + int row = te->get_caret_line(); int h = te->get_h_scroll(); int v = te->get_v_scroll(); te->set_text(shader->get_code()); - te->cursor_set_line(row); - te->cursor_set_column(column); + te->set_caret_line(row); + te->set_caret_column(column); te->set_h_scroll(h); te->set_v_scroll(v); @@ -408,7 +408,7 @@ void ShaderEditor::_show_warnings_panel(bool p_show) { void ShaderEditor::_warning_clicked(Variant p_line) { if (p_line.get_type() == Variant::INT) { - shader_editor->get_text_editor()->cursor_set_line(p_line.operator int64_t()); + shader_editor->get_text_editor()->set_caret_line(p_line.operator int64_t()); } } @@ -550,13 +550,15 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { if (mb->get_button_index() == MOUSE_BUTTON_RIGHT && mb->is_pressed()) { - int col, row; CodeEdit *tx = shader_editor->get_text_editor(); - tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); - tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); - if (tx->is_right_click_moving_caret()) { - if (tx->is_selection_active()) { + Point2i pos = tx->get_line_column_at_pos(mb->get_global_position() - tx->get_global_position()); + int row = pos.y; + int col = pos.x; + tx->set_move_caret_on_right_click_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + + if (tx->is_move_caret_on_right_click_enabled()) { + if (tx->has_selection()) { int from_line = tx->get_selection_from_line(); int to_line = tx->get_selection_to_line(); int from_column = tx->get_selection_from_column(); @@ -567,19 +569,20 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { tx->deselect(); } } - if (!tx->is_selection_active()) { - tx->cursor_set_line(row, true, false); - tx->cursor_set_column(col); + if (!tx->has_selection()) { + tx->set_caret_line(row, true, false); + tx->set_caret_column(col); } } - _make_context_menu(tx->is_selection_active(), get_local_mouse_position()); + _make_context_menu(tx->has_selection(), get_local_mouse_position()); } } Ref<InputEventKey> k = ev; - if (k.is_valid() && k->is_pressed() && k->get_keycode() == KEY_MENU) { + if (k.is_valid() && k->is_pressed() && k->is_action("ui_menu", true)) { CodeEdit *tx = shader_editor->get_text_editor(); - _make_context_menu(tx->is_selection_active(), (get_global_transform().inverse() * tx->get_global_transform()).xform(tx->_get_cursor_pixel_pos())); + tx->adjust_viewport_to_caret(); + _make_context_menu(tx->has_selection(), (get_global_transform().inverse() * tx->get_global_transform()).xform(tx->get_caret_draw_pos())); context_menu->grab_focus(); } } diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index 4202d8b611..0bb0bfde6f 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -386,7 +386,7 @@ PhysicalBone3D *Skeleton3DEditor::create_physical_bone(int bone_id, int bone_chi const real_t radius(half_height * 0.2); CapsuleShape3D *bone_shape_capsule = memnew(CapsuleShape3D); - bone_shape_capsule->set_height((half_height - radius) * 2); + bone_shape_capsule->set_height(half_height * 2); bone_shape_capsule->set_radius(radius); CollisionShape3D *bone_shape = memnew(CollisionShape3D); @@ -397,7 +397,7 @@ PhysicalBone3D *Skeleton3DEditor::create_physical_bone(int bone_id, int bone_chi bone_shape->set_transform(capsule_transform); Transform3D body_transform; - body_transform.set_look_at(Vector3(0, 0, 0), child_rest.origin); + body_transform.basis = Basis::looking_at(child_rest.origin); body_transform.origin = body_transform.basis.xform(Vector3(0, 0, -half_height)); Transform3D joint_transform; diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp index faf287b9bd..cfccf90499 100644 --- a/editor/plugins/text_editor.cpp +++ b/editor/plugins/text_editor.cpp @@ -132,14 +132,14 @@ void TextEditor::reload_text() { ERR_FAIL_COND(text_file.is_null()); CodeEdit *te = code_editor->get_text_editor(); - int column = te->cursor_get_column(); - int row = te->cursor_get_line(); + int column = te->get_caret_column(); + int row = te->get_caret_line(); int h = te->get_h_scroll(); int v = te->get_v_scroll(); te->set_text(text_file->get_text()); - te->cursor_set_line(row); - te->cursor_set_column(column); + te->set_caret_line(row); + te->set_caret_column(column); te->set_h_scroll(h); te->set_v_scroll(v); @@ -332,7 +332,7 @@ void TextEditor::_edit_option(int p_op) { code_editor->duplicate_selection(); } break; case EDIT_TOGGLE_FOLD_LINE: { - tx->toggle_foldable_line(tx->cursor_get_line()); + tx->toggle_foldable_line(tx->get_caret_line()); tx->update(); } break; case EDIT_FOLD_ALL_LINES: { @@ -340,7 +340,7 @@ void TextEditor::_edit_option(int p_op) { tx->update(); } break; case EDIT_UNFOLD_ALL_LINES: { - tx->unhide_all_lines(); + tx->unfold_all_lines(); tx->update(); } break; case EDIT_TRIM_TRAILING_WHITESAPCE: { @@ -374,14 +374,14 @@ void TextEditor::_edit_option(int p_op) { code_editor->get_find_replace_bar()->popup_replace(); } break; case SEARCH_IN_FILES: { - String selected_text = code_editor->get_text_editor()->get_selection_text(); + String selected_text = code_editor->get_text_editor()->get_selected_text(); // Yep, because it doesn't make sense to instance this dialog for every single script open... // So this will be delegated to the ScriptEditor. emit_signal(SNAME("search_in_files_requested"), selected_text); } break; case REPLACE_IN_FILES: { - String selected_text = code_editor->get_text_editor()->get_selection_text(); + String selected_text = code_editor->get_text_editor()->get_selected_text(); emit_signal(SNAME("replace_in_files_requested"), selected_text); } break; @@ -427,16 +427,18 @@ void TextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { if (mb->get_button_index() == MOUSE_BUTTON_RIGHT) { - int col, row; CodeEdit *tx = code_editor->get_text_editor(); - tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); - tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + Point2i pos = tx->get_line_column_at_pos(mb->get_global_position() - tx->get_global_position()); + int row = pos.y; + int col = pos.x; + + tx->set_move_caret_on_right_click_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); bool can_fold = tx->can_fold_line(row); bool is_folded = tx->is_line_folded(row); - if (tx->is_right_click_moving_caret()) { - if (tx->is_selection_active()) { + if (tx->is_move_caret_on_right_click_enabled()) { + if (tx->has_selection()) { int from_line = tx->get_selection_from_line(); int to_line = tx->get_selection_to_line(); int from_column = tx->get_selection_from_column(); @@ -447,23 +449,24 @@ void TextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { tx->deselect(); } } - if (!tx->is_selection_active()) { - tx->cursor_set_line(row, true, false); - tx->cursor_set_column(col); + if (!tx->has_selection()) { + tx->set_caret_line(row, true, false); + tx->set_caret_column(col); } } if (!mb->is_pressed()) { - _make_context_menu(tx->is_selection_active(), can_fold, is_folded, get_local_mouse_position()); + _make_context_menu(tx->has_selection(), can_fold, is_folded, get_local_mouse_position()); } } } Ref<InputEventKey> k = ev; - if (k.is_valid() && k->is_pressed() && k->get_keycode() == KEY_MENU) { + if (k.is_valid() && k->is_pressed() && k->is_action("ui_menu", true)) { CodeEdit *tx = code_editor->get_text_editor(); - int line = tx->cursor_get_line(); - _make_context_menu(tx->is_selection_active(), tx->can_fold_line(line), tx->is_line_folded(line), (get_global_transform().inverse() * tx->get_global_transform()).xform(tx->_get_cursor_pixel_pos())); + int line = tx->get_caret_line(); + tx->adjust_viewport_to_caret(); + _make_context_menu(tx->has_selection(), tx->can_fold_line(line), tx->is_line_folded(line), (get_global_transform().inverse() * tx->get_global_transform()).xform(tx->get_caret_draw_pos())); context_menu->grab_focus(); } } diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index b277f2ab42..1a6eb7b63b 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -330,7 +330,7 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) { for (const Rect2 &E : autoslice_cache) { if (E.has_point(point)) { rect = E; - if (Input::get_singleton()->is_key_pressed(KEY_CTRL) && !(Input::get_singleton()->is_key_pressed(KEY_SHIFT | KEY_ALT))) { + if (Input::get_singleton()->is_key_pressed(KEY_CTRL) && !(Input::get_singleton()->is_key_pressed(Key(KEY_SHIFT | KEY_ALT)))) { Rect2 r; if (node_sprite) { r = node_sprite->get_region_rect(); diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 7ea3deedb9..165a381407 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -1721,6 +1721,8 @@ void ThemeItemEditorDialog::_edit_theme_item_gui_input(const Ref<InputEvent> &p_ edit_theme_item_dialog->hide(); edit_theme_item_dialog->set_input_as_handled(); } break; + default: + break; } } } diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp index a9a36427db..aaa29bcb7a 100644 --- a/editor/plugins/version_control_editor_plugin.cpp +++ b/editor/plugins/version_control_editor_plugin.cpp @@ -484,7 +484,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { commit_message->set_h_grow_direction(Control::GrowDirection::GROW_DIRECTION_BEGIN); commit_message->set_v_grow_direction(Control::GrowDirection::GROW_DIRECTION_END); commit_message->set_custom_minimum_size(Size2(200, 100)); - commit_message->set_wrap_enabled(true); + commit_message->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY); commit_message->connect("text_changed", callable_mp(this, &VersionControlEditorPlugin::_update_commit_button)); commit_message->connect("gui_input", callable_mp(this, &VersionControlEditorPlugin::_commit_message_gui_input)); commit_box_vbc->add_child(commit_message); diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 452ad126b3..1fbf5eb0e6 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -110,7 +110,6 @@ void VisualShaderGraphPlugin::_bind_methods() { ClassDB::bind_method("set_expression", &VisualShaderGraphPlugin::set_expression); ClassDB::bind_method("update_curve", &VisualShaderGraphPlugin::update_curve); ClassDB::bind_method("update_curve_xyz", &VisualShaderGraphPlugin::update_curve_xyz); - ClassDB::bind_method("update_constant", &VisualShaderGraphPlugin::update_constant); } void VisualShaderGraphPlugin::register_shader(VisualShader *p_shader) { @@ -237,18 +236,6 @@ int VisualShaderGraphPlugin::get_constant_index(float p_constant) const { return 0; } -void VisualShaderGraphPlugin::update_constant(VisualShader::Type p_type, int p_node_id) { - if (p_type != visual_shader->get_shader_type() || !links.has(p_node_id) || !links[p_node_id].const_op) { - return; - } - VisualShaderNodeFloatConstant *float_const = Object::cast_to<VisualShaderNodeFloatConstant>(links[p_node_id].visual_node); - if (!float_const) { - return; - } - links[p_node_id].const_op->select(get_constant_index(float_const->get_constant())); - links[p_node_id].graph_node->set_size(Size2(-1, -1)); -} - void VisualShaderGraphPlugin::set_expression(VisualShader::Type p_type, int p_node_id, const String &p_expression) { if (p_type != visual_shader->get_shader_type() || !links.has(p_node_id) || !links[p_node_id].expression_edit) { return; @@ -267,10 +254,6 @@ void VisualShaderGraphPlugin::register_default_input_button(int p_node_id, int p links[p_node_id].input_ports.insert(p_port_id, { p_button }); } -void VisualShaderGraphPlugin::register_constant_option_btn(int p_node_id, OptionButton *p_button) { - links[p_node_id].const_op = p_button; -} - void VisualShaderGraphPlugin::register_expression_edit(int p_node_id, CodeEdit *p_expression_edit) { links[p_node_id].expression_edit = p_expression_edit; } @@ -322,7 +305,7 @@ void VisualShaderGraphPlugin::make_dirty(bool p_enabled) { } void VisualShaderGraphPlugin::register_link(VisualShader::Type p_type, int p_id, VisualShaderNode *p_visual_node, GraphNode *p_graph_node) { - links.insert(p_id, { p_type, p_visual_node, p_graph_node, p_visual_node->get_output_port_for_preview() != -1, -1, Map<int, InputPort>(), Map<int, Port>(), nullptr, nullptr, nullptr, nullptr, { nullptr, nullptr, nullptr } }); + links.insert(p_id, { p_type, p_visual_node, p_graph_node, p_visual_node->get_output_port_for_preview() != -1, -1, Map<int, InputPort>(), Map<int, Port>(), nullptr, nullptr, nullptr, { nullptr, nullptr, nullptr } }); } void VisualShaderGraphPlugin::register_output_port(int p_node_id, int p_port, TextureButton *p_button) { @@ -408,10 +391,14 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { node->connect("dragged", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_node_dragged), varray(p_id)); Control *custom_editor = nullptr; - int port_offset = 0; + int port_offset = 1; + + Control *content_offset = memnew(Control); + content_offset->set_custom_minimum_size(Size2(0, 5 * EDSCALE)); + node->add_child(content_offset); if (is_group) { - port_offset += 2; + port_offset += 1; } if (is_resizable) { @@ -448,7 +435,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int 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(0, false, VisualShaderNode::PORT_TYPE_SCALAR, Color(), true, port_right, type_color[port_right]); + node->set_slot(1, false, VisualShaderNode::PORT_TYPE_SCALAR, Color(), true, port_right, type_color[port_right]); if (!vsnode->is_use_prop_slots()) { return; } @@ -494,23 +481,6 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { custom_editor = hbox; } - Ref<VisualShaderNodeFloatConstant> float_const = vsnode; - if (float_const.is_valid()) { - HBoxContainer *hbox = memnew(HBoxContainer); - - hbox->add_child(custom_editor); - OptionButton *btn = memnew(OptionButton); - hbox->add_child(btn); - register_constant_option_btn(p_id, btn); - btn->add_item(""); - for (int i = 0; i < MAX_FLOAT_CONST_DEFS; i++) { - btn->add_item(float_constant_defs[i].name); - } - btn->select(get_constant_index(float_const->get_constant())); - btn->connect("item_selected", callable_mp(VisualShaderEditor::get_singleton(), &VisualShaderEditor::_float_constant_selected), varray(p_id)); - custom_editor = hbox; - } - 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) { @@ -582,22 +552,26 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int 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(0, true, port_left, type_color[port_left], true, port_right, type_color[port_right]); + node->set_slot(1, true, port_left, type_color[port_left], true, port_right, type_color[port_right]); VisualShaderEditor::get_singleton()->call_deferred(SNAME("_set_node_size"), (int)p_type, p_id, size); } if (vsnode->is_use_prop_slots()) { + String error = vsnode->get_warning(visual_shader->get_mode(), p_type); + if (error != String()) { + 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); + } + return; } custom_editor = nullptr; } if (is_group) { - offset = memnew(Control); - offset->set_custom_minimum_size(Size2(0, 6 * EDSCALE)); - node->add_child(offset); - if (group_node->is_editable()) { HBoxContainer *hb2 = memnew(HBoxContainer); @@ -1007,6 +981,7 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) { const Dictionary vs_version = visual_shader->get_engine_version(); if (!vs_version.has_all(components)) { visual_shader->update_engine_version(engine_version); + print_line(vformat(TTR("The shader (\"%s\") has been updated to correspond Godot %s.%s version."), visual_shader->get_path(), engine_version["major"], engine_version["minor"])); } else { for (int i = 0; i < components.size(); i++) { if (vs_version[components[i]] != engine_version[components[i]]) { @@ -2028,6 +2003,8 @@ void VisualShaderEditor::_uniform_line_edit_changed(const String &p_text, int p_ undo_redo->add_undo_method(node.ptr(), "set_uniform_name", node->get_uniform_name()); undo_redo->add_do_method(graph_plugin.ptr(), "set_uniform_name", type, p_node_id, validated_name); undo_redo->add_undo_method(graph_plugin.ptr(), "set_uniform_name", type, p_node_id, node->get_uniform_name()); + undo_redo->add_do_method(graph_plugin.ptr(), "update_node_deferred", type, p_node_id); + undo_redo->add_undo_method(graph_plugin.ptr(), "update_node_deferred", type, p_node_id); undo_redo->add_do_method(this, "_update_uniforms", true); undo_redo->add_undo_method(this, "_update_uniforms", true); @@ -2171,6 +2148,16 @@ void VisualShaderEditor::_setup_node(VisualShaderNode *p_node, int p_op_idx) { } } + // TRANSFORM_OP + { + VisualShaderNodeTransformOp *matOp = Object::cast_to<VisualShaderNodeTransformOp>(p_node); + + if (matOp) { + matOp->set_operator((VisualShaderNodeTransformOp::Operator)p_op_idx); + return; + } + } + // TRANSFORM_FUNC { VisualShaderNodeTransformFunc *matFunc = Object::cast_to<VisualShaderNodeTransformFunc>(p_node); @@ -2360,6 +2347,7 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx, String p_resource_pa position += graph->get_size() * 0.5; position /= EDSCALE; } + position /= graph->get_zoom(); saved_node_pos_dirty = false; int id_to_use = visual_shader->get_valid_node_id(type); @@ -2932,6 +2920,7 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { selected_constants.clear(); selected_uniforms.clear(); selected_comment = -1; + selected_float_constant = -1; List<int> to_change; for (int i = 0; i < graph->get_child_count(); i++) { @@ -2951,6 +2940,10 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { if (constant_node != nullptr) { selected_constants.insert(id); } + VisualShaderNodeFloatConstant *float_constant_node = Object::cast_to<VisualShaderNodeFloatConstant>(node.ptr()); + if (float_constant_node != nullptr) { + selected_float_constant = id; + } VisualShaderNodeUniform *uniform_node = Object::cast_to<VisualShaderNodeUniform>(node.ptr()); if (uniform_node != nullptr && uniform_node->is_convertible_to_constant()) { selected_uniforms.insert(id); @@ -2961,6 +2954,7 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { if (to_change.size() > 1) { selected_comment = -1; + selected_float_constant = -1; } if (to_change.is_empty() && copy_nodes_buffer.is_empty()) { @@ -2975,6 +2969,10 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { if (temp != -1) { popup_menu->remove_item(temp); } + temp = popup_menu->get_item_index(NodeMenuOptions::FLOAT_CONSTANTS); + if (temp != -1) { + popup_menu->remove_item(temp); + } temp = popup_menu->get_item_index(NodeMenuOptions::CONVERT_CONSTANTS_TO_UNIFORMS); if (temp != -1) { popup_menu->remove_item(temp); @@ -2996,14 +2994,23 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { popup_menu->remove_item(temp); } - if (selected_comment != -1) { + if (selected_constants.size() > 0 || selected_uniforms.size() > 0) { popup_menu->add_separator("", NodeMenuOptions::SEPARATOR2); - popup_menu->add_item(TTR("Set Comment Title"), NodeMenuOptions::SET_COMMENT_TITLE); - popup_menu->add_item(TTR("Set Comment Description"), NodeMenuOptions::SET_COMMENT_DESCRIPTION); - } - if (selected_constants.size() > 0 || selected_uniforms.size() > 0) { - popup_menu->add_separator("", NodeMenuOptions::SEPARATOR3); + if (selected_float_constant != -1) { + popup_menu->add_submenu_item(TTR("Float Constants"), "FloatConstants", int(NodeMenuOptions::FLOAT_CONSTANTS)); + + if (!constants_submenu) { + constants_submenu = memnew(PopupMenu); + constants_submenu->set_name("FloatConstants"); + + for (int i = 0; i < MAX_FLOAT_CONST_DEFS; i++) { + constants_submenu->add_item(float_constant_defs[i].name, i); + } + popup_menu->add_child(constants_submenu); + constants_submenu->connect("index_pressed", callable_mp(this, &VisualShaderEditor::_float_constant_selected)); + } + } if (selected_constants.size() > 0) { popup_menu->add_item(TTR("Convert Constant(s) to Uniform(s)"), NodeMenuOptions::CONVERT_CONSTANTS_TO_UNIFORMS); @@ -3014,6 +3021,12 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { } } + if (selected_comment != -1) { + popup_menu->add_separator("", NodeMenuOptions::SEPARATOR3); + popup_menu->add_item(TTR("Set Comment Title"), NodeMenuOptions::SET_COMMENT_TITLE); + popup_menu->add_item(TTR("Set Comment Description"), NodeMenuOptions::SET_COMMENT_DESCRIPTION); + } + menu_point = graph->get_local_mouse_position(); Point2 gpos = Input::get_singleton()->get_mouse_position(); popup_menu->set_position(gpos); @@ -3483,27 +3496,20 @@ void VisualShaderEditor::_uniform_select_item(Ref<VisualShaderNodeUniformRef> p_ undo_redo->commit_action(); } -void VisualShaderEditor::_float_constant_selected(int p_index, int p_node) { - if (p_index == 0) { - graph_plugin->update_node_size(p_node); - return; - } - - --p_index; - - ERR_FAIL_INDEX(p_index, MAX_FLOAT_CONST_DEFS); +void VisualShaderEditor::_float_constant_selected(int p_which) { + ERR_FAIL_INDEX(p_which, MAX_FLOAT_CONST_DEFS); VisualShader::Type type = get_current_shader_type(); - Ref<VisualShaderNodeFloatConstant> node = visual_shader->get_node(type, p_node); - if (!node.is_valid()) { - return; + Ref<VisualShaderNodeFloatConstant> node = visual_shader->get_node(type, selected_float_constant); + ERR_FAIL_COND(!node.is_valid()); + + if (Math::is_equal_approx(node->get_constant(), float_constant_defs[p_which].value)) { + return; // same } - undo_redo->create_action(TTR("Set constant")); - undo_redo->add_do_method(node.ptr(), "set_constant", float_constant_defs[p_index].value); + undo_redo->create_action(vformat(TTR("Set Constant: %s"), float_constant_defs[p_which].name)); + undo_redo->add_do_method(node.ptr(), "set_constant", float_constant_defs[p_which].value); undo_redo->add_undo_method(node.ptr(), "set_constant", node->get_constant()); - undo_redo->add_do_method(graph_plugin.ptr(), "update_constant", type, p_node); - undo_redo->add_undo_method(graph_plugin.ptr(), "update_constant", type, p_node); undo_redo->commit_action(); } @@ -3966,7 +3972,7 @@ VisualShaderEditor::VisualShaderEditor() { preview_text->set_v_size_flags(Control::SIZE_EXPAND_FILL); preview_text->set_syntax_highlighter(syntax_highlighter); preview_text->set_draw_line_numbers(true); - preview_text->set_readonly(true); + preview_text->set_editable(false); error_panel = memnew(PanelContainer); preview_vbox->add_child(error_panel); @@ -4448,6 +4454,7 @@ VisualShaderEditor::VisualShaderEditor() { // TRANSFORM add_options.push_back(AddOption("TransformFunc", "Transform", "Common", "VisualShaderNodeTransformFunc", TTR("Transform function."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformOp", "Transform", "Common", "VisualShaderNodeTransformOp", TTR("Transform operator."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); add_options.push_back(AddOption("OuterProduct", "Transform", "Composition", "VisualShaderNodeOuterProduct", TTR("Calculate the outer product of a pair of vectors.\n\nOuterProduct treats the first parameter 'c' as a column vector (matrix with one column) and the second parameter 'r' as a row vector (matrix with one row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix whose number of rows is the number of components in 'c' and whose number of columns is the number of components in 'r'."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); add_options.push_back(AddOption("TransformCompose", "Transform", "Composition", "VisualShaderNodeTransformCompose", TTR("Composes transform from four vectors."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); @@ -4458,7 +4465,11 @@ VisualShaderEditor::VisualShaderEditor() { add_options.push_back(AddOption("Inverse", "Transform", "Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the inverse of a transform."), VisualShaderNodeTransformFunc::FUNC_INVERSE, VisualShaderNode::PORT_TYPE_TRANSFORM)); add_options.push_back(AddOption("Transpose", "Transform", "Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the transpose of a transform."), VisualShaderNodeTransformFunc::FUNC_TRANSPOSE, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformMult", "Transform", "Operators", "VisualShaderNodeTransformMult", TTR("Multiplies transform by transform."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Add", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Sums two transforms."), VisualShaderNodeTransformOp::OP_ADD, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Divide", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Divides two transforms."), VisualShaderNodeTransformOp::OP_A_DIV_B, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Multiply", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Multiplies two transforms."), VisualShaderNodeTransformOp::OP_AxB, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("MultiplyComp", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Performs per-component multiplication of two transforms."), VisualShaderNodeTransformOp::OP_AxB_COMP, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Subtract", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Subtracts two transforms."), VisualShaderNodeTransformOp::OP_A_MINUS_B, VisualShaderNode::PORT_TYPE_TRANSFORM)); add_options.push_back(AddOption("TransformVectorMult", "Transform", "Operators", "VisualShaderNodeTransformVecMult", TTR("Multiplies vector by transform."), -1, VisualShaderNode::PORT_TYPE_VECTOR)); add_options.push_back(AddOption("TransformConstant", "Transform", "Variables", "VisualShaderNodeTransformConstant", TTR("Transform constant."), -1, VisualShaderNode::PORT_TYPE_TRANSFORM)); @@ -4741,9 +4752,6 @@ 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); - } else { - undo_redo->add_do_method(VisualShaderEditor::get_singleton()->get_graph_plugin(), "update_constant", shader_type, node_id); - undo_redo->add_undo_method(VisualShaderEditor::get_singleton()->get_graph_plugin(), "update_constant", shader_type, node_id); } undo_redo->commit_action(); diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index f53726edb9..87bab16a45 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -73,7 +73,6 @@ private: Map<int, Port> output_ports; VBoxContainer *preview_box = nullptr; LineEdit *uniform_name = nullptr; - OptionButton *const_op = nullptr; CodeEdit *expression_edit = nullptr; CurveEditor *curve_editors[3] = { nullptr, nullptr, nullptr }; }; @@ -95,7 +94,6 @@ public: void register_output_port(int p_id, int p_port, TextureButton *p_button); void register_uniform_name(int p_id, LineEdit *p_uniform_name); void register_default_input_button(int p_node_id, int p_port_id, Button *p_button); - void register_constant_option_btn(int p_node_id, OptionButton *p_button); void register_expression_edit(int p_node_id, CodeEdit *p_expression_edit); void register_curve_editor(int p_node_id, int p_index, CurveEditor *p_curve_editor); void clear_links(); @@ -118,7 +116,6 @@ public: void set_uniform_name(VisualShader::Type p_type, int p_node_id, const String &p_name); void update_curve(int p_node_id); void update_curve_xyz(int p_node_id); - void update_constant(VisualShader::Type p_type, int p_node_id); void set_expression(VisualShader::Type p_type, int p_node_id, const String &p_expression); int get_constant_index(float p_constant) const; void update_node_size(int p_node_id); @@ -164,6 +161,7 @@ class VisualShaderEditor : public VBoxContainer { ConfirmationDialog *members_dialog; PopupMenu *popup_menu; + PopupMenu *constants_submenu = nullptr; MenuButton *tools; PopupPanel *comment_title_change_popup = nullptr; @@ -214,6 +212,7 @@ class VisualShaderEditor : public VBoxContainer { DELETE, DUPLICATE, SEPARATOR2, // ignore + FLOAT_CONSTANTS, CONVERT_CONSTANTS_TO_UNIFORMS, CONVERT_UNIFORMS_TO_CONSTANTS, SEPARATOR3, // ignore @@ -347,6 +346,7 @@ class VisualShaderEditor : public VBoxContainer { Set<int> selected_constants; Set<int> selected_uniforms; int selected_comment = -1; + int selected_float_constant = -1; void _convert_constants_to_uniforms(bool p_vice_versa); void _replace_node(VisualShader::Type p_type_id, int p_node_id, const StringName &p_from, const StringName &p_to); @@ -396,7 +396,7 @@ class VisualShaderEditor : public VBoxContainer { void _input_select_item(Ref<VisualShaderNodeInput> input, String name); void _uniform_select_item(Ref<VisualShaderNodeUniformRef> p_uniform, String p_name); - void _float_constant_selected(int p_index, int p_node); + void _float_constant_selected(int p_which); VisualShader::Type get_current_shader_type() const; diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp index a1deae92a4..1272d064a0 100644 --- a/editor/property_selector.cpp +++ b/editor/property_selector.cpp @@ -67,6 +67,8 @@ void PropertySelector::_sbox_input(const Ref<InputEvent> &p_ie) { current->select(0); } break; + default: + break; } } } @@ -351,51 +353,64 @@ void PropertySelector::_item_selected() { String class_type; if (type != Variant::NIL) { class_type = Variant::get_type_name(type); - - } else { + } else if (base_type != String()) { class_type = base_type; + } else if (instance) { + class_type = instance->get_class(); } DocTools *dd = EditorHelp::get_doc_data(); String text; - if (properties) { - String at_class = class_type; - - while (at_class != String()) { - Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(at_class); + while (class_type != String()) { + Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type); if (E) { for (int i = 0; i < E->get().properties.size(); i++) { if (E->get().properties[i].name == name) { text = DTR(E->get().properties[i].description); + break; } } } - at_class = ClassDB::get_parent_class(at_class); + if (text != String()) { + break; + } + + // The property may be from a parent class, keep looking. + class_type = ClassDB::get_parent_class(class_type); } } else { - String at_class = class_type; - - while (at_class != String()) { - Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(at_class); + while (class_type != String()) { + Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type); if (E) { for (int i = 0; i < E->get().methods.size(); i++) { if (E->get().methods[i].name == name) { text = DTR(E->get().methods[i].description); + break; } } } - at_class = ClassDB::get_parent_class(at_class); + if (text != String()) { + break; + } + + // The method may be from a parent class, keep looking. + class_type = ClassDB::get_parent_class(class_type); } } - if (text == String()) { - return; + if (text != String()) { + // Display both property name and description, since the help bit may be displayed + // far away from the location (especially if the dialog was resized to be taller). + help_bit->set_text(vformat("[b]%s[/b]: %s", name, text)); + help_bit->get_rich_text()->set_self_modulate(Color(1, 1, 1, 1)); + } else { + // Use nested `vformat()` as translators shouldn't interfere with BBCode tags. + help_bit->set_text(vformat(TTR("No description available for %s."), vformat("[b]%s[/b]", name))); + help_bit->get_rich_text()->set_self_modulate(Color(1, 1, 1, 0.5)); } - - help_bit->set_text(text); } void PropertySelector::_hide_requested() { diff --git a/editor/quick_open.cpp b/editor/quick_open.cpp index ed94f859e2..f8af3e8f36 100644 --- a/editor/quick_open.cpp +++ b/editor/quick_open.cpp @@ -190,6 +190,8 @@ void EditorQuickOpen::_sbox_input(const Ref<InputEvent> &p_ie) { current->set_as_cursor(0); } } break; + default: + break; } } } diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index c4d47c7594..0b228c2695 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -45,6 +45,7 @@ #include "editor/plugins/canvas_item_editor_plugin.h" #include "editor/plugins/node_3d_editor_plugin.h" #include "editor/plugins/script_editor_plugin.h" +#include "editor/shader_create_dialog.h" #include "scene/main/window.h" #include "scene/resources/packed_scene.h" #include "servers/display_server.h" @@ -1142,6 +1143,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { editor_selection->clear(); editor_selection->add_node(new_node); + scene_tree->get_scene_tree()->grab_focus(); } break; default: { @@ -1939,12 +1941,31 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) { _update_script_button(); } +void SceneTreeDock::_shader_created(Ref<Shader> p_shader) { + if (selected_shader_material.is_null()) { + return; + } + + Ref<Shader> existing = selected_shader_material->get_shader(); + + editor_data->get_undo_redo().create_action(TTR("Set Shader")); + editor_data->get_undo_redo().add_do_method(selected_shader_material.ptr(), "set_shader", p_shader); + editor_data->get_undo_redo().add_undo_method(selected_shader_material.ptr(), "set_shader", existing); + editor_data->get_undo_redo().commit_action(); +} + void SceneTreeDock::_script_creation_closed() { script_create_dialog->disconnect("script_created", callable_mp(this, &SceneTreeDock::_script_created)); script_create_dialog->disconnect("confirmed", callable_mp(this, &SceneTreeDock::_script_creation_closed)); script_create_dialog->disconnect("cancelled", callable_mp(this, &SceneTreeDock::_script_creation_closed)); } +void SceneTreeDock::_shader_creation_closed() { + shader_create_dialog->disconnect("shader_created", callable_mp(this, &SceneTreeDock::_shader_created)); + shader_create_dialog->disconnect("confirmed", callable_mp(this, &SceneTreeDock::_shader_creation_closed)); + shader_create_dialog->disconnect("cancelled", callable_mp(this, &SceneTreeDock::_shader_creation_closed)); +} + void SceneTreeDock::_toggle_editable_children_from_selection() { List<Node *> selection = editor_selection->get_selected_node_list(); List<Node *>::Element *e = selection.front(); @@ -2259,7 +2280,7 @@ void SceneTreeDock::_create() { _do_reparent(last_created, -1, nodes, true); } - scene_tree->get_scene_tree()->call_deferred(SNAME("grab_focus")); + scene_tree->get_scene_tree()->grab_focus(); } void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_properties, bool p_remove_old) { @@ -2896,6 +2917,42 @@ void SceneTreeDock::open_script_dialog(Node *p_for_node, bool p_extend) { } } +void SceneTreeDock::attach_shader_to_selected() { + if (selected_shader_material.is_null()) { + return; + } + + String path = selected_shader_material->get_path(); + if (path == "") { + String root_path; + if (editor_data->get_edited_scene_root()) { + root_path = editor_data->get_edited_scene_root()->get_filename(); + } + String shader_name; + if (selected_shader_material->get_name().is_empty()) { + shader_name = root_path.get_file(); + } else { + shader_name = selected_shader_material->get_name(); + } + if (root_path == "") { + path = String("res://").plus_file(shader_name); + } else { + path = root_path.get_base_dir().plus_file(shader_name); + } + } + + shader_create_dialog->connect("shader_created", callable_mp(this, &SceneTreeDock::_shader_created)); + shader_create_dialog->connect("confirmed", callable_mp(this, &SceneTreeDock::_shader_creation_closed)); + shader_create_dialog->connect("cancelled", callable_mp(this, &SceneTreeDock::_shader_creation_closed)); + shader_create_dialog->config(path); + shader_create_dialog->popup_centered(); +} + +void SceneTreeDock::open_shader_dialog(Ref<ShaderMaterial> &p_for_material) { + selected_shader_material = p_for_material; + attach_shader_to_selected(); +} + void SceneTreeDock::open_add_child_dialog() { create_dialog->set_base_type("CanvasItem"); _tool_selected(TOOL_NEW, true); @@ -3267,6 +3324,9 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel script_create_dialog->set_inheritance_base_type("Node"); add_child(script_create_dialog); + shader_create_dialog = memnew(ShaderCreateDialog); + add_child(shader_create_dialog); + reparent_dialog = memnew(ReparentDialog); add_child(reparent_dialog); reparent_dialog->connect("reparent", callable_mp(this, &SceneTreeDock::_node_reparent)); diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index 4952122cb7..ccdc0a3786 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -49,6 +49,7 @@ #include "scene_tree_editor.h" class EditorNode; +class ShaderCreateDialog; class SceneTreeDock : public VBoxContainer { GDCLASS(SceneTreeDock, VBoxContainer); @@ -138,6 +139,7 @@ class SceneTreeDock : public VBoxContainer { HashMap<String, Map<RES, RES>> clipboard_resource_remap; ScriptCreateDialog *script_create_dialog; + ShaderCreateDialog *shader_create_dialog; AcceptDialog *accept; ConfirmationDialog *delete_dialog; ConfirmationDialog *editable_instance_remove_dialog; @@ -166,6 +168,8 @@ class SceneTreeDock : public VBoxContainer { VBoxContainer *create_root_dialog; String selected_favorite_root; + Ref<ShaderMaterial> selected_shader_material; + void _add_children_to_popup(Object *p_obj, int p_depth); void _node_reparent(NodePath p_path, bool p_keep_global_xform); @@ -192,7 +196,9 @@ class SceneTreeDock : public VBoxContainer { void _node_selected(); void _node_renamed(); void _script_created(Ref<Script> p_script); + void _shader_created(Ref<Shader> p_shader); void _script_creation_closed(); + void _shader_creation_closed(); void _delete_confirm(bool p_cut = false); @@ -288,6 +294,9 @@ public: void attach_script_to_selected(bool p_extend); void open_script_dialog(Node *p_for_node, bool p_extend); + void attach_shader_to_selected(); + void open_shader_dialog(Ref<ShaderMaterial> &p_for_material); + void open_add_child_dialog(); void open_instance_child_dialog(); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index e7ba3daccd..5c77c9f124 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -208,8 +208,8 @@ void EditorSettingsDialog::_event_config_confirmed() { Ref<Shortcut> current_sc = EditorSettings::get_singleton()->get_shortcut(shortcut_being_edited); undo_redo->create_action(TTR("Change Shortcut") + " '" + shortcut_being_edited + "'"); - undo_redo->add_do_method(current_sc.ptr(), "set_shortcut", k); - undo_redo->add_undo_method(current_sc.ptr(), "set_shortcut", current_sc->get_event()); + undo_redo->add_do_method(current_sc.ptr(), "set_event", k); + undo_redo->add_undo_method(current_sc.ptr(), "set_event", current_sc->get_event()); undo_redo->add_do_method(this, "_update_shortcuts"); undo_redo->add_undo_method(this, "_update_shortcuts"); undo_redo->add_do_method(this, "_settings_changed"); @@ -453,8 +453,8 @@ void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column } undo_redo->create_action(TTR("Erase Shortcut")); - undo_redo->add_do_method(sc.ptr(), "set_shortcut", Ref<InputEvent>()); - undo_redo->add_undo_method(sc.ptr(), "set_shortcut", sc->get_event()); + undo_redo->add_do_method(sc.ptr(), "set_event", Ref<InputEvent>()); + undo_redo->add_undo_method(sc.ptr(), "set_event", sc->get_event()); undo_redo->add_do_method(this, "_update_shortcuts"); undo_redo->add_undo_method(this, "_update_shortcuts"); undo_redo->add_do_method(this, "_settings_changed"); @@ -469,8 +469,8 @@ void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column Ref<InputEvent> original = sc->get_meta("original"); undo_redo->create_action(TTR("Restore Shortcut")); - undo_redo->add_do_method(sc.ptr(), "set_shortcut", original); - undo_redo->add_undo_method(sc.ptr(), "set_shortcut", sc->get_event()); + undo_redo->add_do_method(sc.ptr(), "set_event", original); + undo_redo->add_undo_method(sc.ptr(), "set_event", sc->get_event()); undo_redo->add_do_method(this, "_update_shortcuts"); undo_redo->add_undo_method(this, "_update_shortcuts"); undo_redo->add_do_method(this, "_settings_changed"); diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp new file mode 100644 index 0000000000..7e6f154fab --- /dev/null +++ b/editor/shader_create_dialog.cpp @@ -0,0 +1,627 @@ +/*************************************************************************/ +/* shader_create_dialog.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#include "shader_create_dialog.h" +#include "editor/editor_scale.h" +#include "scene/resources/visual_shader.h" +#include "servers/rendering/shader_types.h" + +void ShaderCreateDialog::_notification(int p_what) { + switch (p_what) { + case NOTIFICATION_ENTER_TREE: { + _update_theme(); + + String last_lang = EditorSettings::get_singleton()->get_project_metadata("shader_setup", "last_selected_language", ""); + if (!last_lang.is_empty()) { + for (int i = 0; i < language_menu->get_item_count(); i++) { + if (language_menu->get_item_text(i) == last_lang) { + language_menu->select(i); + current_language = i; + break; + } + } + } else { + language_menu->select(default_language); + } + + current_mode = EditorSettings::get_singleton()->get_project_metadata("shader_setup", "last_selected_mode", 0); + mode_menu->select(current_mode); + } break; + case NOTIFICATION_THEME_CHANGED: { + _update_theme(); + } break; + } +} + +void ShaderCreateDialog::_update_theme() { + Ref<Texture2D> shader_icon = gc->get_theme_icon(SNAME("Shader"), SNAME("EditorIcons")); + if (shader_icon.is_valid()) { + language_menu->set_item_icon(0, shader_icon); + } + + Ref<Texture2D> visual_shader_icon = gc->get_theme_icon(SNAME("VisualShader"), SNAME("EditorIcons")); + if (visual_shader_icon.is_valid()) { + language_menu->set_item_icon(1, visual_shader_icon); + } + + path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); + status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); +} + +void ShaderCreateDialog::_update_language_info() { + language_data.clear(); + + for (int i = 0; i < SHADER_TYPE_MAX; i++) { + ShaderTypeData data; + if (i == int(SHADER_TYPE_TEXT)) { + data.use_templates = true; + data.extensions.push_back("gdshader"); + data.default_extension = "gdshader"; + } else { + data.default_extension = "tres"; + } + data.extensions.push_back("res"); + data.extensions.push_back("tres"); + language_data.push_back(data); + } +} + +void ShaderCreateDialog::_path_hbox_sorted() { + if (is_visible()) { + int filename_start_pos = initial_base_path.rfind("/") + 1; + int filename_end_pos = initial_base_path.length(); + + if (!is_built_in) { + file_path->select(filename_start_pos, filename_end_pos); + } + + file_path->set_caret_column(file_path->get_text().length()); + file_path->set_caret_column(filename_start_pos); + + file_path->grab_focus(); + } +} + +void ShaderCreateDialog::_mode_changed(int p_mode) { + current_mode = p_mode; + EditorSettings::get_singleton()->set_project_metadata("shader_setup", "last_selected_mode", p_mode); +} + +void ShaderCreateDialog::_template_changed(int p_template) { + current_template = p_template; + EditorSettings::get_singleton()->set_project_metadata("shader_setup", "last_selected_template", p_template); +} + +void ShaderCreateDialog::ok_pressed() { + if (is_new_shader_created) { + _create_new(); + } else { + _load_exist(); + } + + is_new_shader_created = true; + _update_dialog(); +} + +void ShaderCreateDialog::_create_new() { + RES shader; + + if (language_menu->get_selected() == int(SHADER_TYPE_TEXT)) { + Ref<Shader> text_shader; + text_shader.instantiate(); + shader = text_shader; + + StringBuilder code; + code += vformat("shader_type %s;\n", mode_menu->get_text().replace(" ", "").camelcase_to_underscore()); + + if (current_template == 0) { // Default template. + code += "\n"; + switch (current_mode) { + case Shader::MODE_SPATIAL: + code += "void fragment() {\n"; + code += "\t// Place fragment code here.\n"; + code += "}\n"; + break; + case Shader::MODE_CANVAS_ITEM: + code += "void fragment() {\n"; + code += "\t// Place fragment code here.\n"; + code += "}\n"; + break; + case Shader::MODE_PARTICLES: + code += "void start() {\n"; + code += "\t// Place start code here.\n"; + code += "}\n"; + code += "\n"; + code += "void process() {\n"; + code += "\t// Place process code here.\n"; + code += "}\n"; + break; + case Shader::MODE_SKY: + code += "void sky() {\n"; + code += "\t// Place sky code here.\n"; + code += "}\n"; + break; + } + } + text_shader->set_code(code.as_string()); + } else { + Ref<VisualShader> visual_shader; + visual_shader.instantiate(); + shader = visual_shader; + visual_shader->set_engine_version(Engine::get_singleton()->get_version_info()); + visual_shader->set_mode(Shader::Mode(current_mode)); + } + + if (!is_built_in) { + String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text()); + shader->set_path(lpath); + Error err = ResourceSaver::save(lpath, shader, ResourceSaver::FLAG_CHANGE_PATH); + if (err != OK) { + alert->set_text(TTR("Error - Could not create shader in filesystem.")); + alert->popup_centered(); + return; + } + } + + emit_signal("shader_created", shader); + hide(); +} + +void ShaderCreateDialog::_load_exist() { + String path = file_path->get_text(); + RES p_shader = ResourceLoader::load(path, "Shader"); + if (p_shader.is_null()) { + alert->set_text(vformat(TTR("Error loading shader from %s"), path)); + alert->popup_centered(); + return; + } + + emit_signal("shader_created", p_shader); + hide(); +} + +void ShaderCreateDialog::_language_changed(int p_language) { + current_language = p_language; + ShaderTypeData data = language_data[p_language]; + + String selected_ext = "." + data.default_extension; + String path = file_path->get_text(); + String extension = ""; + + if (path != "") { + if (path.find(".") != -1) { + extension = path.get_extension(); + } + if (extension.length() == 0) { + path += selected_ext; + } else { + path = path.get_basename() + selected_ext; + } + } else { + path = "shader" + selected_ext; + } + _path_changed(path); + file_path->set_text(path); + + template_menu->set_disabled(!data.use_templates); + template_menu->clear(); + + if (data.use_templates) { + int last_template = EditorSettings::get_singleton()->get_project_metadata("shader_setup", "last_selected_template", 0); + + template_menu->add_item(TTR("Default")); + template_menu->add_item(TTR("Empty")); + + template_menu->select(last_template); + current_template = last_template; + } else { + template_menu->add_item(TTR("N/A")); + } + + EditorSettings::get_singleton()->set_project_metadata("shader_setup", "last_selected_language", language_menu->get_item_text(language_menu->get_selected())); + _update_dialog(); +} + +void ShaderCreateDialog::_built_in_toggled(bool p_enabled) { + is_built_in = p_enabled; + if (p_enabled) { + is_new_shader_created = true; + } else { + _path_changed(file_path->get_text()); + } + _update_dialog(); +} + +void ShaderCreateDialog::_browse_path() { + file_browse->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE); + file_browse->set_title(TTR("Open Shader / Choose Location")); + file_browse->get_ok_button()->set_text(TTR("Open")); + + file_browse->set_disable_overwrite_warning(true); + file_browse->clear_filters(); + + List<String> extensions = language_data[language_menu->get_selected()].extensions; + + for (const String &E : extensions) { + file_browse->add_filter("*." + E); + } + + file_browse->set_current_path(file_path->get_text()); + file_browse->popup_file_dialog(); +} + +void ShaderCreateDialog::_file_selected(const String &p_file) { + String p = ProjectSettings::get_singleton()->localize_path(p_file); + file_path->set_text(p); + _path_changed(p); + + String filename = p.get_file().get_basename(); + int select_start = p.rfind(filename); + file_path->select(select_start, select_start + filename.length()); + file_path->set_caret_column(select_start + filename.length()); + file_path->grab_focus(); +} + +void ShaderCreateDialog::_path_changed(const String &p_path) { + if (is_built_in) { + return; + } + + is_path_valid = false; + is_new_shader_created = true; + + String path_error = _validate_path(p_path); + if (path_error != "") { + _msg_path_valid(false, path_error); + _update_dialog(); + return; + } + + DirAccessRef f = DirAccess::create(DirAccess::ACCESS_RESOURCES); + String p = ProjectSettings::get_singleton()->localize_path(p_path.strip_edges()); + if (f->file_exists(p)) { + is_new_shader_created = false; + _msg_path_valid(true, TTR("File exists, it will be reused.")); + } + + is_path_valid = true; + _update_dialog(); +} + +void ShaderCreateDialog::_path_submitted(const String &p_path) { + ok_pressed(); +} + +void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabled, bool p_load_enabled) { + if (p_base_path != "") { + initial_base_path = p_base_path.get_basename(); + file_path->set_text(initial_base_path + "." + language_data[language_menu->get_selected()].default_extension); + current_language = language_menu->get_selected(); + } else { + initial_base_path = ""; + file_path->set_text(""); + } + file_path->deselect(); + + built_in_enabled = p_built_in_enabled; + load_enabled = p_load_enabled; + + _language_changed(current_language); + _path_changed(file_path->get_text()); +} + +String ShaderCreateDialog::_validate_path(const String &p_path) { + String p = p_path.strip_edges(); + + if (p == "") { + return TTR("Path is empty."); + } + if (p.get_file().get_basename() == "") { + return TTR("Filename is empty."); + } + + p = ProjectSettings::get_singleton()->localize_path(p); + if (!p.begins_with("res://")) { + return TTR("Path is not local."); + } + + DirAccessRef d = DirAccess::create(DirAccess::ACCESS_RESOURCES); + if (d->change_dir(p.get_base_dir()) != OK) { + return TTR("Invalid base path."); + } + + DirAccessRef f = DirAccess::create(DirAccess::ACCESS_RESOURCES); + if (f->dir_exists(p)) { + return TTR("A directory with the same name exists."); + } + + String extension = p.get_extension(); + Set<String> extensions; + + for (int i = 0; i < SHADER_TYPE_MAX; i++) { + for (const String &ext : language_data[i].extensions) { + if (!extensions.has(ext)) { + extensions.insert(ext); + } + } + } + + ShaderTypeData data = language_data[language_menu->get_selected()]; + + bool found = false; + bool match = false; + + for (const String &ext : extensions) { + if (ext.nocasecmp_to(extension) == 0) { + found = true; + for (const String &lang_ext : language_data[current_language].extensions) { + if (lang_ext.nocasecmp_to(extension) == 0) { + match = true; + break; + } + } + break; + } + } + + if (!found) { + return TTR("Invalid extension."); + } + if (!match) { + return TTR("Wrong extension chosen."); + } + + return ""; +} + +void ShaderCreateDialog::_msg_script_valid(bool valid, const String &p_msg) { + error_label->set_text("- " + p_msg); + if (valid) { + error_label->add_theme_color_override("font_color", gc->get_theme_color("success_color", "Editor")); + } else { + error_label->add_theme_color_override("font_color", gc->get_theme_color("error_color", "Editor")); + } +} + +void ShaderCreateDialog::_msg_path_valid(bool valid, const String &p_msg) { + path_error_label->set_text("- " + p_msg); + if (valid) { + path_error_label->add_theme_color_override("font_color", gc->get_theme_color("success_color", "Editor")); + } else { + path_error_label->add_theme_color_override("font_color", gc->get_theme_color("error_color", "Editor")); + } +} + +void ShaderCreateDialog::_update_dialog() { + bool shader_ok = true; + + if (!is_built_in && !is_path_valid) { + _msg_script_valid(false, TTR("Invalid path.")); + shader_ok = false; + } + if (shader_ok) { + _msg_script_valid(true, TTR("Shader path/name is valid.")); + } + if (!built_in_enabled) { + internal->set_pressed(false); + } + + if (is_built_in) { + file_path->set_editable(false); + path_button->set_disabled(true); + re_check_path = true; + } else { + file_path->set_editable(true); + path_button->set_disabled(false); + if (re_check_path) { + re_check_path = false; + _path_changed(file_path->get_text()); + } + } + + internal->set_disabled(!built_in_enabled); + + builtin_warning_label->set_visible(is_built_in); + + if (is_built_in) { + get_ok_button()->set_text(TTR("Create")); + _msg_path_valid(true, TTR("Built-in shader (into scene file).")); + } else if (is_new_shader_created) { + get_ok_button()->set_text(TTR("Create")); + if (is_path_valid) { + _msg_path_valid(true, TTR("Will create a new shader file.")); + } + } else if (load_enabled) { + get_ok_button()->set_text(TTR("Load")); + if (is_path_valid) { + _msg_path_valid(true, TTR("Will load an existing shader file.")); + } + } else { + get_ok_button()->set_text(TTR("Create")); + _msg_path_valid(false, TTR("Shader file already exists.")); + + shader_ok = false; + } + + get_ok_button()->set_disabled(!shader_ok); + + Callable entered_call = callable_mp(this, &ShaderCreateDialog::_path_submitted); + if (shader_ok) { + if (!file_path->is_connected("text_submitted", entered_call)) { + file_path->connect("text_submitted", entered_call); + } + } else if (file_path->is_connected("text_submitted", entered_call)) { + file_path->disconnect("text_submitted", entered_call); + } +} + +void ShaderCreateDialog::_bind_methods() { + ClassDB::bind_method(D_METHOD("config", "path", "built_in_enabled", "load_enabled"), &ShaderCreateDialog::config, DEFVAL(true), DEFVAL(true)); + + ADD_SIGNAL(MethodInfo("shader_created", PropertyInfo(Variant::OBJECT, "shader", PROPERTY_HINT_RESOURCE_TYPE, "Shader"))); +} + +ShaderCreateDialog::ShaderCreateDialog() { + _update_language_info(); + + // Main Controls. + + gc = memnew(GridContainer); + gc->set_columns(2); + + // Error Fields. + + VBoxContainer *vb = memnew(VBoxContainer); + + error_label = memnew(Label); + vb->add_child(error_label); + + path_error_label = memnew(Label); + vb->add_child(path_error_label); + + builtin_warning_label = memnew(Label); + builtin_warning_label->set_text( + TTR("Note: Built-in shaders can't be edited using an external editor.")); + vb->add_child(builtin_warning_label); + builtin_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); + builtin_warning_label->hide(); + + status_panel = memnew(PanelContainer); + status_panel->set_h_size_flags(Control::SIZE_FILL); + status_panel->set_v_size_flags(Control::SIZE_EXPAND_FILL); + status_panel->add_child(vb); + + // Spacing. + + Control *spacing = memnew(Control); + spacing->set_custom_minimum_size(Size2(0, 10 * EDSCALE)); + + vb = memnew(VBoxContainer); + vb->add_child(gc); + vb->add_child(spacing); + vb->add_child(status_panel); + add_child(vb); + + // Language. + + language_menu = memnew(OptionButton); + language_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE); + language_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL); + gc->add_child(memnew(Label(TTR("Language:")))); + gc->add_child(language_menu); + + for (int i = 0; i < SHADER_TYPE_MAX; i++) { + String language; + bool invalid = false; + switch (i) { + case SHADER_TYPE_TEXT: + language = "Shader"; + default_language = i; + break; + case SHADER_TYPE_VISUAL: + language = "VisualShader"; + break; + case SHADER_TYPE_MAX: + invalid = true; + break; + default: + invalid = true; + break; + } + if (invalid) { + continue; + } + language_menu->add_item(language); + } + if (default_language >= 0) { + language_menu->select(default_language); + } + current_language = default_language; + language_menu->connect("item_selected", callable_mp(this, &ShaderCreateDialog::_language_changed)); + + // Modes. + + mode_menu = memnew(OptionButton); + for (const String &type_name : ShaderTypes::get_singleton()->get_types_list()) { + mode_menu->add_item(type_name.capitalize()); + } + gc->add_child(memnew(Label(TTR("Mode:")))); + gc->add_child(mode_menu); + mode_menu->connect("item_selected", callable_mp(this, &ShaderCreateDialog::_mode_changed)); + + // Templates. + + template_menu = memnew(OptionButton); + gc->add_child(memnew(Label(TTR("Template:")))); + gc->add_child(template_menu); + template_menu->connect("item_selected", callable_mp(this, &ShaderCreateDialog::_template_changed)); + + // Built-in Shader. + + internal = memnew(CheckBox); + internal->set_text(TTR("On")); + internal->connect("toggled", callable_mp(this, &ShaderCreateDialog::_built_in_toggled)); + gc->add_child(memnew(Label(TTR("Built-in Shader:")))); + gc->add_child(internal); + + // Path. + + HBoxContainer *hb = memnew(HBoxContainer); + hb->set_h_size_flags(Control::SIZE_EXPAND_FILL); + hb->connect("sort_children", callable_mp(this, &ShaderCreateDialog::_path_hbox_sorted)); + file_path = memnew(LineEdit); + file_path->connect("text_changed", callable_mp(this, &ShaderCreateDialog::_path_changed)); + file_path->set_h_size_flags(Control::SIZE_EXPAND_FILL); + hb->add_child(file_path); + path_button = memnew(Button); + path_button->connect("pressed", callable_mp(this, &ShaderCreateDialog::_browse_path)); + hb->add_child(path_button); + gc->add_child(memnew(Label(TTR("Path:")))); + gc->add_child(hb); + + // Dialog Setup. + + file_browse = memnew(EditorFileDialog); + file_browse->connect("file_selected", callable_mp(this, &ShaderCreateDialog::_file_selected)); + file_browse->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE); + add_child(file_browse); + + alert = memnew(AcceptDialog); + alert->get_label()->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); + alert->get_label()->set_align(Label::ALIGN_CENTER); + alert->get_label()->set_valign(Label::VALIGN_CENTER); + alert->get_label()->set_custom_minimum_size(Size2(325, 60) * EDSCALE); + add_child(alert); + + get_ok_button()->set_text(TTR("Create")); + set_hide_on_ok(false); + + set_title(TTR("Create Shader")); +} diff --git a/editor/shader_create_dialog.h b/editor/shader_create_dialog.h new file mode 100644 index 0000000000..6962fa3d8d --- /dev/null +++ b/editor/shader_create_dialog.h @@ -0,0 +1,115 @@ +/*************************************************************************/ +/* shader_create_dialog.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#ifndef SHADER_CREATE_DIALOG_H +#define SHADER_CREATE_DIALOG_H + +#include "editor/editor_file_dialog.h" +#include "editor/editor_settings.h" +#include "scene/gui/check_box.h" +#include "scene/gui/dialogs.h" +#include "scene/gui/grid_container.h" +#include "scene/gui/line_edit.h" +#include "scene/gui/option_button.h" +#include "scene/gui/panel_container.h" + +class ShaderCreateDialog : public ConfirmationDialog { + GDCLASS(ShaderCreateDialog, ConfirmationDialog); + + enum ShaderType { + SHADER_TYPE_TEXT, + SHADER_TYPE_VISUAL, + SHADER_TYPE_MAX, + }; + + struct ShaderTypeData { + List<String> extensions; + String default_extension; + bool use_templates = false; + }; + + List<ShaderTypeData> language_data; + + GridContainer *gc = nullptr; + Label *error_label = nullptr; + Label *path_error_label = nullptr; + Label *builtin_warning_label = nullptr; + PanelContainer *status_panel = nullptr; + OptionButton *language_menu = nullptr; + OptionButton *mode_menu = nullptr; + OptionButton *template_menu = nullptr; + CheckBox *internal = nullptr; + LineEdit *file_path = nullptr; + Button *path_button = nullptr; + EditorFileDialog *file_browse = nullptr; + AcceptDialog *alert = nullptr; + + String initial_base_path; + bool is_new_shader_created = true; + bool is_path_valid = false; + bool is_built_in = false; + bool built_in_enabled = true; + bool load_enabled = false; + bool re_check_path = false; + int current_language = -1; + int default_language = -1; + int current_mode = 0; + int current_template = 0; + + virtual void _update_language_info(); + + void _path_hbox_sorted(); + void _path_changed(const String &p_path = String()); + void _path_submitted(const String &p_path = String()); + void _language_changed(int p_language = 0); + void _built_in_toggled(bool p_enabled); + void _template_changed(int p_template = 0); + void _mode_changed(int p_mode = 0); + void _browse_path(); + void _file_selected(const String &p_file); + String _validate_path(const String &p_path); + virtual void ok_pressed() override; + void _create_new(); + void _load_exist(); + void _msg_script_valid(bool valid, const String &p_msg = String()); + void _msg_path_valid(bool valid, const String &p_msg = String()); + void _update_dialog(); + +protected: + void _update_theme(); + void _notification(int p_what); + static void _bind_methods(); + +public: + void config(const String &p_base_path, bool p_built_in_enabled = true, bool p_load_enabled = true); + ShaderCreateDialog(); +}; + +#endif diff --git a/editor/translations/af.po b/editor/translations/af.po index 18ad28af62..70e016ee65 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -353,6 +353,7 @@ msgstr "Verander Anim Herspeel" msgid "Remove Anim Track" msgstr "Verwyder Anim Baan" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Skep NUWE baan vir %s en voeg sleutel by?" @@ -377,10 +378,27 @@ msgstr "Skep" msgid "Anim Insert" msgstr "Anim Voeg In" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animasie Zoem." + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Eienskappe" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Skep & Voeg by" @@ -975,7 +993,7 @@ msgstr "Skep Nuwe" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2363,6 +2381,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3157,10 +3186,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Deurlopend" @@ -3782,6 +3807,15 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Open 'n Lêer" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8694,6 +8728,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Hernoem AutoLaai" @@ -8724,6 +8764,12 @@ msgid "Remove All StyleBox Items" msgstr "Hernoem AutoLaai" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Gunstelinge:" @@ -12290,6 +12336,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13942,6 +13996,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 9093792ef8..eb11aa27b6 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -389,6 +389,7 @@ msgstr "تغيير وضع عقدة الحركة" msgid "Remove Anim Track" msgstr "حذف مسار التحريك" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "أنشئ مسار جديد ل %s و إدخال مفتاح؟" @@ -413,10 +414,28 @@ msgstr "أنشئ" msgid "Anim Insert" msgstr "إدخال حركة" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "لا يمكن فتح '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "رسوم متحركة" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "اللأعب المتحرك لا يستطيع تحريك نفسه ,فقط اللاعبين الآخرين." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "لا خاصية '%s' موجودة." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "أنشي حركة وأدخلها" @@ -988,7 +1007,7 @@ msgstr "إنشاء %s جديد" msgid "No results for \"%s\"." msgstr "لا نتائج من أجل \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2333,6 +2352,17 @@ msgid "New Window" msgstr "نافذة جديدة" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "قم بالتدوير أثناء إعادة رسم نافذة المحرّر." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "لا يمكن حفظ الموارد المستوردة." @@ -3187,10 +3217,6 @@ msgid "Save & Restart" msgstr "حفظ و إعادة تشغيل" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "قم بالتدوير أثناء إعادة رسم نافذة المحرّر." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "تحديث متواصل" @@ -3851,6 +3877,16 @@ msgid "Download from:" msgstr "خطأ في التحميل" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "تشغيل في المتصفح" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "خطأ في نسخ" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8708,6 +8744,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "إزالة جميع العناصر" @@ -8738,6 +8780,12 @@ msgid "Remove All StyleBox Items" msgstr "إزالة جميع العناصر" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "إضافة بنود للصنف" @@ -12401,6 +12449,16 @@ msgstr "تعديل ارتفاع الشكل الأسطواني" msgid "Change Ray Shape Length" msgstr "تعديل طول الشكل الشعاعي" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "حدد موقع نقطة الإنحناء" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "حدد موقع نقطة الإنحناء" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "تغيير نصف قطر الاسطوانة" @@ -14183,6 +14241,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "سيتم تجاهل هذا الجسم حتى تضع تحدد له مجسمًا." @@ -15136,9 +15230,6 @@ msgstr "لا يمكن تعديل الثوابت." #~ msgid "I see..." #~ msgstr "أنا أري..." -#~ msgid "Can't open '%s'." -#~ msgstr "لا يمكن فتح '%s'." - #~ msgid "Ugh" #~ msgstr "آخخ" diff --git a/editor/translations/az.po b/editor/translations/az.po index 4ac0ae6469..6c07f98d38 100644 --- a/editor/translations/az.po +++ b/editor/translations/az.po @@ -358,6 +358,7 @@ msgstr "Animasya Döngü Rejimini Dəyiş" msgid "Remove Anim Track" msgstr "Animasya İzini Sil" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s üçün YENİ iz yaradılsın və açar daxil edilsin?" @@ -383,11 +384,27 @@ msgstr "Yarat" msgid "Anim Insert" msgstr "Animasiya Daxil Et" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animasiyanı Təmizləmə" + #: editor/animation_track_editor.cpp #, fuzzy msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer özünü canlandıra bilməz, yalnız digər playerlər." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animasiya yaradın və əlavə edin" @@ -975,7 +992,7 @@ msgstr "Yeni %s yarat" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2286,6 +2303,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3065,10 +3093,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3676,6 +3700,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8367,6 +8399,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8391,6 +8429,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11802,6 +11846,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13399,6 +13451,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index b0bf9a4d6c..3045c7b781 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -350,6 +350,7 @@ msgstr "Промяна на режима на повтаряне на анима msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Създаване на НОВА пътечка за %s и вмъкване на ключ?" @@ -374,10 +375,28 @@ msgstr "Създаване" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Избиране на всичко" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Анимация" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Свойство" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -934,7 +953,7 @@ msgstr "Създаване на %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2244,6 +2263,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3050,10 +3080,6 @@ msgid "Save & Restart" msgstr "Запазване и рестартиране" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3677,6 +3703,16 @@ msgid "Download from:" msgstr "Грешка при свалянето" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Отваряне във файловия мениджър" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Копиране на грешката" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8462,6 +8498,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Премахване на всички елементи" @@ -8492,6 +8534,12 @@ msgid "Remove All StyleBox Items" msgstr "Премахване на всички елементи" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Добавяне на всички елементи" @@ -11965,6 +12013,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13637,6 +13693,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Това тяло ще бъде игнорирано, докато не зададете полигонна мрежа." @@ -14016,10 +14108,6 @@ msgstr "Константите не могат да бъдат променен #~ msgid "Select Mode (Q)" #~ msgstr "Режим на Селектиране (Q)" -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Избиране на всичко" - #~ msgid "Project List" #~ msgstr "Списък с проекти" diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 384ea57f6c..6cd9e3a81c 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -345,6 +345,7 @@ msgstr "অ্যানিমেশনের লুপ মোড পরিবর msgid "Remove Anim Track" msgstr "অ্যানিমেশন (Anim) ট্র্যাক রিমুভ করুন" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s এর জন্য নতুন ট্র্যাক/পথ তৈরি করতে এবং চাবি প্রবেশ করাতে চান?" @@ -369,10 +370,28 @@ msgstr "তৈরি করুন" msgid "Anim Insert" msgstr "অ্যানিমেশনে (Anim) অন্তর্ভুক্ত করুন" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "'..' তে পরিচালনা করা সম্ভব নয়" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "অ্যানিমেশন" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "অ্যানিমেশনপ্লেয়ার নিজেই অ্যানিমেট করতে পারে না, কেবল অন্য প্লেয়ার।" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "প্রপার্টি:" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "অ্যানিমেশন (Anim) তৈরি এবং যোগ করুন" @@ -969,7 +988,7 @@ msgstr "নতুন তৈরি করুন" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2392,6 +2411,18 @@ msgid "New Window" msgstr "উইন্ডো" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +#, fuzzy +msgid "Spins when the editor window redraws." +msgstr "এডিটরের পুন-অঙ্কনে এটি ঘূর্ণন করে!" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3286,11 +3317,6 @@ msgstr "সংরক্ষণ এবং পুন-ইম্পোর্ট ক #: editor/editor_node.cpp #, fuzzy -msgid "Spins when the editor window redraws." -msgstr "এডিটরের পুন-অঙ্কনে এটি ঘূর্ণন করে!" - -#: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" msgstr "অবিচ্ছিন্ন/নিরবচ্ছিন্ন" @@ -3979,6 +4005,16 @@ msgid "Download from:" msgstr "নীচে" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "ব্রাউস" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "ভুল/সমস্যা-সমূহ লোড করুন" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -9179,6 +9215,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "ক্লাসের আইটেম অপসারণ করুন" @@ -9209,6 +9251,12 @@ msgid "Remove All StyleBox Items" msgstr "ক্লাসের আইটেম অপসারণ করুন" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "ক্লাসের আইটেম যোগ করুন" @@ -13015,6 +13063,16 @@ msgstr "Capsule Shape এর উচ্চতা পরিবর্তন কর msgid "Change Ray Shape Length" msgstr "Ray Shape এর দৈর্ঘ্য পরিবর্তন করুন" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "বক্ররেখার বিন্দুর স্থান নির্ধারণ করুন" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "বক্ররেখার বিন্দুর স্থান নির্ধারণ করুন" + #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" @@ -14801,6 +14859,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -16018,10 +16112,6 @@ msgstr "" #~ msgid "I see..." #~ msgstr "বুঝলাম..." -#, fuzzy -#~ msgid "Can't open '%s'." -#~ msgstr "'..' তে পরিচালনা করা সম্ভব নয়" - #~ msgid "Ugh" #~ msgstr "আহ্" diff --git a/editor/translations/br.po b/editor/translations/br.po index 0f61544190..adee6daaba 100644 --- a/editor/translations/br.po +++ b/editor/translations/br.po @@ -340,6 +340,7 @@ msgstr "Cheñch Mod Treiñ ar Fiñvskeudenn" msgid "Remove Anim Track" msgstr "Dilemel ar Roudenn Fiñvskeudenn" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Krouiñ ur roudenn NEVEZ evit %s ha enlakaat an alc'hwez ?" @@ -364,12 +365,28 @@ msgstr "Krouiñ" msgid "Anim Insert" msgstr "Enlakaat Fiñvskeudenn" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Tro Fiñvskeudenn" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer n'hall ket en em lakaat de fiñval, met nemet al lennerezhioù " "all." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Krouiñ & Enlakaat Fiñvskeudenn" @@ -934,7 +951,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2226,6 +2243,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3005,10 +3033,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3614,6 +3638,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8294,6 +8326,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8318,6 +8356,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11725,6 +11769,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13320,6 +13372,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index ab96816ec0..347fea679b 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -350,6 +350,7 @@ msgstr "Canviar Mode de bucle d'Animació" msgid "Remove Anim Track" msgstr "Treu la Pista" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Voleu crear una NOVA pista per a %s i inserir-hi una clau?" @@ -374,11 +375,29 @@ msgstr "Crea" msgid "Anim Insert" msgstr "Insereix una Animació" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "No es pot obrir '%s' ." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animació" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "Un AnimationPlayer no pot animar-se a si mateix, només altres reproductors." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "No existeix cap propietat '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Crea i Insereix" @@ -958,7 +977,7 @@ msgstr "Crea Nou %s" msgid "No results for \"%s\"." msgstr "No hi ha cap resultat per a «%s»." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2315,6 +2334,17 @@ msgid "New Window" msgstr "Finestra nova" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Gira quan la finestra de l'editor es redibuixa." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Els recursos importats no es poden desar." @@ -3190,10 +3220,6 @@ msgid "Save & Restart" msgstr "Desa i Reinicia" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Gira quan la finestra de l'editor es redibuixa." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Actualitzar contínuament" @@ -3868,6 +3894,16 @@ msgid "Download from:" msgstr "Error en la Baixada" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Executa-ho en el Navegador" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copia l'error" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8863,6 +8899,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Treu tots els Elements" @@ -8893,6 +8935,12 @@ msgid "Remove All StyleBox Items" msgstr "Treu tots els Elements" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Afegeix Elements de Classe" @@ -12713,6 +12761,16 @@ msgstr "Modifica l'alçada de la Forma Caixa" msgid "Change Ray Shape Length" msgstr "Modifica la longitud de la Forma Raig" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Estableix la Posició del Punt de la Corba" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Estableix la Posició del Punt de la Corba" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Canviar Radi del Cilindre" @@ -14528,6 +14586,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp #, fuzzy msgid "This body will be ignored until you set a mesh." @@ -15820,9 +15914,6 @@ msgstr "Les constants no es poden modificar." #~ msgid "I see..." #~ msgstr "Vaja..." -#~ msgid "Can't open '%s'." -#~ msgstr "No es pot obrir '%s' ." - #~ msgid "Ugh" #~ msgstr "Uf..." diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 579289300b..266614bf96 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -362,6 +362,7 @@ msgstr "Změnit mód smyčky animace" msgid "Remove Anim Track" msgstr "Odstranit stopu animace" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Vytvořit NOVOU stopu pro %s a vložit klíč?" @@ -386,10 +387,28 @@ msgstr "Vytvořit" msgid "Anim Insert" msgstr "Animace: vložit" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Nelze otevřít '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animace" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer nemůže animovat sám sebe, pouze ostatní přehrávače." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Vlastnost '%s' neexistuje." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animace: Vytvořit a vložit" @@ -966,7 +985,7 @@ msgstr "Vytvořit nový %s" msgid "No results for \"%s\"." msgstr "Žádné výsledky pro \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2313,6 +2332,17 @@ msgid "New Window" msgstr "Nové okno" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Točí se, když se okno editoru překresluje." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Nelze uložit importované zdroje." @@ -3165,10 +3195,6 @@ msgid "Save & Restart" msgstr "Uložit a restartovat" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Točí se, když se okno editoru překresluje." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Aktualizovat průběžně" @@ -3831,6 +3857,16 @@ msgid "Download from:" msgstr "Chyba při stahování" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Spustit v prohlížeči" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopírovat chybu" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8679,6 +8715,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Odstranit všechny položky" @@ -8709,6 +8751,12 @@ msgid "Remove All StyleBox Items" msgstr "Odstranit všechny položky" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Přidat položky třídy" @@ -12353,6 +12401,16 @@ msgstr "Změnit výšku Cylinder Shape" msgid "Change Ray Shape Length" msgstr "Změnit délku Ray Shape" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Nastavit pozici bodu křivky" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Nastavit pozici bodu křivky" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Změnit poloměr Cylinder" @@ -14097,6 +14155,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Toto tělo bude ignorováno dokud nenastavíte síť." @@ -15196,9 +15290,6 @@ msgstr "Konstanty není možné upravovat." #~ msgid "I see..." #~ msgstr "Chápu..." -#~ msgid "Can't open '%s'." -#~ msgstr "Nelze otevřít '%s'." - #~ msgid "Ugh" #~ msgstr "Ups" diff --git a/editor/translations/da.po b/editor/translations/da.po index 163eb546a0..2ab69b5f05 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -363,6 +363,7 @@ msgstr "Ændre Anim Løkke" msgid "Remove Anim Track" msgstr "Fjern Anim Spor" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Opret NYT spor til %s og indsæt nøgle?" @@ -387,10 +388,28 @@ msgstr "Opret" msgid "Anim Insert" msgstr "Anim Indsæt" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Kan ikke åbne '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animation" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Animationsafspiller kan ikke animere sig selv, kun andre afspillere." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Egenskaber" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Opret & Indsæt" @@ -995,7 +1014,7 @@ msgstr "Opret Ny %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2393,6 +2412,18 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +#, fuzzy +msgid "Spins when the editor window redraws." +msgstr "Snurrer når editor vinduer gentegnes!" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3263,11 +3294,6 @@ msgstr "Gem & genstart" #: editor/editor_node.cpp #, fuzzy -msgid "Spins when the editor window redraws." -msgstr "Snurrer når editor vinduer gentegnes!" - -#: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" msgstr "Kontinuerlig" @@ -3914,6 +3940,16 @@ msgid "Download from:" msgstr "Download" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Åbn i Filhåndtering" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Indlæs Fejl" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8912,6 +8948,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Fjern Alt" @@ -8942,6 +8984,12 @@ msgid "Remove All StyleBox Items" msgstr "Fjern Alt" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Favoritter:" @@ -12597,6 +12645,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Fjern Kurve Punktets Position" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Fjern Kurve Punktets Position" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -14331,6 +14389,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -15089,9 +15183,6 @@ msgstr "Konstanter kan ikke ændres." #~ msgid "I see..." #~ msgstr "Jeg forstår..." -#~ msgid "Can't open '%s'." -#~ msgstr "Kan ikke åbne '%s'." - #, fuzzy #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/de.po b/editor/translations/de.po index 38d565b1cd..6d57f3dcad 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -75,7 +75,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 02:33+0000\n" +"PO-Revision-Date: 2021-08-06 06:47+0000\n" "Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" @@ -84,7 +84,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -406,6 +406,7 @@ msgstr "Animationswiederholungsmodus ändern" msgid "Remove Anim Track" msgstr "Spur entfernen" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "NEUE Spur für %s erstellen und Schlüsselbild hinzufügen?" @@ -430,10 +431,28 @@ msgstr "Erstellen" msgid "Anim Insert" msgstr "Einfügen" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "‚%s‘ kann nicht geöffnet werden." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animation" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer kann sich nicht selbst animieren, nur andere Objekte." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Eigenschaft ‚%s‘ existiert nicht." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animation Erstellen & Einfügen" @@ -646,9 +665,8 @@ msgid "Go to Previous Step" msgstr "Zum vorherigen Schritt" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Zurücksetzen" +msgstr "Zurücksetzen durchführen" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -667,9 +685,8 @@ msgid "Use Bezier Curves" msgstr "Bezier-Kurven nutzen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Spuren einfügen" +msgstr "RESET Spur(en) erstellen" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -994,7 +1011,6 @@ msgid "Edit..." msgstr "Bearbeiten..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Zur Methode springen" @@ -1014,9 +1030,9 @@ msgstr "%s erstellen" msgid "No results for \"%s\"." msgstr "Keine Ergebnisse für \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Keine Beschreibung zu ‚%s‘ verfügbar." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1116,7 +1132,6 @@ msgid "Owners Of:" msgstr "Besitzer von:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " @@ -1124,11 +1139,10 @@ msgid "" msgstr "" "Ausgewählte Dateien aus dem Projekt entfernen? (Kann nicht rückgängig " "gemacht werden.)\n" -"Die Dateien können möglicherweise aus dem Papierkorb des Betriebssystems " -"wiederhergestellt werden." +"Abhängig von den Betriebssystemeinstellungen werden die Dateien in den " +"Papierkorb verschoben oder permanent gelöscht." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1139,8 +1153,8 @@ msgstr "" "Andere Ressourcen benötigen die zu entfernenden Dateien, um richtig zu " "funktionieren.\n" "Trotzdem entfernen? (Kann nicht rückgängig gemacht werden.)\n" -"Die Dateien können möglicherweise aus dem Papierkorb des Betriebssystems " -"wiederhergestellt werden." +"Abhängig von den Betriebssystemeinstellungen werden die Dateien in den " +"Papierkorb verschoben oder permanent gelöscht." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1312,41 +1326,39 @@ msgid "Licenses" msgstr "Lizenzen" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Fehler beim Öffnen der Paketdatei (kein ZIP-Format)." +msgstr "Fehler beim Öffnen der Nutzerinhaltsdatei „%s“ (kein ZIP-Format)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s (existiert bereits)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" msgstr "" +"Nutzerinhalt „%s“ - %d Datei(en) stehen in Konflikt mit diesem Projekt:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "Nutzerinhalt „%s“ - Kein Konflikt mit diesem Projekt:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Inhalte werden entpackt" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Die folgenden Dateien ließen sich nicht aus dem Paket extrahieren:" +msgstr "" +"Die folgenden Dateien ließen sich nicht aus dem Nutzerinhaltspaket „%s“ " +"extrahieren:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Und %s weitere Dateien." +msgstr "(und %s weitere Dateien)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Paket wurde erfolgreich installiert!" +msgstr "Nutzerinhaltspaket „%s“ wurde erfolgreich installiert!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1358,9 +1370,8 @@ msgid "Install" msgstr "Installieren" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Erweiterungenverwaltung" +msgstr "Nutzerinhalteinstallation" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1423,7 +1434,6 @@ msgid "Bypass" msgstr "Überbrückung" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Audiobusoptionen" @@ -1591,13 +1601,12 @@ msgid "Can't add autoload:" msgstr "Autoload konnte nicht hinzugefügt werden:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Datei existiert nicht." +msgstr "%s ist ein ungültiger Pfad. Datei existiert nicht." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s ist ein ungültiger Pfad. Liegt nicht im Ressourcen-Pfad (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1621,9 +1630,8 @@ msgid "Name" msgstr "Name" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Variable" +msgstr "Globale Variable" #: editor/editor_data.cpp msgid "Paste Params" @@ -1799,48 +1807,56 @@ msgstr "Importleiste" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Ermöglicht das Betrachten und Bearbeiten von 3D-Szenen." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." msgstr "" +"Ermöglicht das Bearbeiten von Skripten mithilfe des integrierten Skript-" +"Editors." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Stellt Zugriff zur Nutzerinhaltebibliothek her." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Ermöglicht das Bearbeiten der Node-Hierachie in der Szenenleiste." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Ermöglicht die Konfiguration von Signalen und Gruppen des ausgewählten Nodes " +"in der Szenenleiste." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Ermöglicht das Betrachten des lokalen Dateisystems in einer eigenen Leiste." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Ermöglicht die Konfiguration von Importeinstellungen für individuelle " +"Dateien. Benötigt die Dateisystemleiste zum Funktionieren." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Aktuell)" +msgstr "(ausgewählt)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(keins)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." msgstr "" +"Aktuell ausgewähltes Profil ‚%s‘ entfernen? Dies kann nicht rückgängig " +"gemacht werden." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1872,19 +1888,16 @@ msgid "Enable Contextual Editor" msgstr "Kontextsensitiven Editor aktivieren" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Eigenschaften:" +msgstr "Klasseneigenschaften:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Eigenschaften und Merkmale" +msgstr "Wichtigste Funktionen:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Aktivierte Klassen:" +msgstr "Nodes und Klassen:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1903,7 +1916,6 @@ msgid "Error saving profile to path: '%s'." msgstr "Fehler beim Speichern des Profils im Pfad: ‚%s‘." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "Auf Standardwerte zurücksetzen" @@ -1912,14 +1924,12 @@ msgid "Current Profile:" msgstr "Aktuelles Profil:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Profil löschen" +msgstr "Profil erstellen" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Kachel entfernen" +msgstr "Profil entfernen" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1939,18 +1949,18 @@ msgid "Export" msgstr "Exportieren" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Aktuelles Profil:" +msgstr "Ausgewähltes Profil bearbeiten:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Textureinstellungen" +msgstr "Zusatzoptionen:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Ein Profil erstellen oder importieren um verfügbare Klassen und " +"Einstellungen zu bearbeiten." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1977,9 +1987,8 @@ msgid "Select Current Folder" msgstr "Gegenwärtigen Ordner auswählen" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "Datei existiert bereits. Überschreiben?" +msgstr "Datei existiert bereits. Soll sie überschrieben werden?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2372,6 +2381,17 @@ msgid "New Window" msgstr "Neues Fenster" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Dreht sich, wenn das Editorfenster neu gezeichnet wird." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Importierte Ressourcen können nicht abgespeichert werden." @@ -2604,13 +2624,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"Die aktuelle Szene hat keine Wurzel, dennoch wurden %d bearbeitete externe " +"Ressource(n) gespeichert." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Ein Wurzel-Node wird benötigt um diese Szene zu speichern." +msgstr "" +"Ein Wurzel-Node wird benötigt um diese Szene zu speichern. Ein Wurzel-Node " +"kann in der Szenenbaumleiste hinzugefügt werden." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3004,9 +3027,8 @@ msgid "Orphan Resource Explorer..." msgstr "Verwaltung nicht verwendeter Ressourcen…" #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Projekt umbenennen" +msgstr "Aktuelles Projekt neu laden" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3167,22 +3189,20 @@ msgid "Help" msgstr "Hilfe" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Dokumentation öffnen" +msgstr "Internet-Dokumentation" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Fragen & Antworten" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "Fehler berichten" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "Einen Wert setzen" +msgstr "Neue Funktionalität vorschlagen" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3190,12 +3210,11 @@ msgstr "Dokumentationsvorschläge senden" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "Community" +msgstr "Gemeinschaft" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Über" +msgstr "Über Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3247,10 +3266,6 @@ msgid "Save & Restart" msgstr "Speichern & Neu starten" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Dreht sich, wenn das Editorfenster neu gezeichnet wird." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Fortlaufend aktualisieren" @@ -3292,14 +3307,12 @@ msgid "Manage Templates" msgstr "Vorlagen verwalten" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" -msgstr "Installiere aus Datei" +msgstr "Aus Datei installieren" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Quell-Mesh auswählen:" +msgstr "Android-Quelldateien auswählen" #: editor/editor_node.cpp msgid "" @@ -3384,7 +3397,7 @@ msgstr "Auswählen" #: editor/editor_node.cpp #, fuzzy msgid "Select Current" -msgstr "Gegenwärtigen Ordner auswählen" +msgstr "Aktuelles auswählen" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3419,9 +3432,8 @@ msgid "No sub-resources found." msgstr "Keine Unter-Ressourcen gefunden." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Keine Unter-Ressourcen gefunden." +msgstr "Liste der Unter-Ressourcen öffnen." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3448,14 +3460,12 @@ msgid "Update" msgstr "Update" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Version:" +msgstr "Version" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Autoren" +msgstr "Autor" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3468,14 +3478,12 @@ msgid "Measure:" msgstr "Messung:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Renderzeit (Sek)" +msgstr "Frame-Zeit (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Renderzeit ⌀ (sek)" +msgstr "Durchschnittszeit (ms)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3502,6 +3510,13 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Inklusive: Beinhaltet Zeiten von anderen Funktionen die von dieser " +"aufgerufen wurden.\n" +"Brauchbar um Flaschenhälse zu finden.\n" +"\n" +"Eigen: Zählt nur die Zeit in dieser Funktion, nicht die Zeiten von ihr " +"aufgerufener Funktionen.\n" +"Brauchbar um einzelne Funktionen zum Optimieren zu finden." #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3624,7 +3639,6 @@ msgid "Paste" msgstr "Einfügen" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "Umwandeln zu %s" @@ -3674,10 +3688,9 @@ msgid "Did you forget the '_run' method?" msgstr "Hast du die '_run' Methode vergessen?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Strg-Taste halten um auf Ganzzahlen zu runden. Umschalt-Taste halten für " +"%s-Taste halten um auf Ganzzahlen zu runden. Umschalt-Taste halten für " "präzisere Änderungen." #: editor/editor_sub_scene.cpp @@ -3698,49 +3711,43 @@ msgstr "Aus Node importieren:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Den Ordner der diese Exportvorlagen enthält öffnen." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Diese Exportvorlage deinstallieren." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "Datei ‚%s‘ existiert nicht." +msgstr "Keine Mirrors verfügbar." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Mirrors werden geladen, bitte warten..." +msgstr "Mirror-Liste werden abgerufen…" #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Download wird begonnen…" #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Fehler beim Abrufen der URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Verbinde mit Mirror..." +msgstr "Verbindung mit Mirror wird hergestellt..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "Kann Hostnamen nicht auflösen:" +msgstr "Angefragte Adresse konnte nicht aufgelöst werden." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Kann nicht zu Host verbinden:" +msgstr "Verbindung zu Mirror konnte nicht hergestellt werden." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Keine Antwort von Host:" +msgstr "Keine Antwort des Mirrors." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3748,18 +3755,16 @@ msgid "Request failed." msgstr "Anfrage fehlgeschlagen." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Anfrage fehlgeschlagen, zu viele Weiterleitungen" +msgstr "Anfrage in Weiterleitungsschleife gefangen." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Anfrage fehlgeschlagen." +msgstr "Anfrage fehlgeschlagen:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Download abgeschlossen; Exportvorlagen werden extrahiert…" #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3778,7 +3783,6 @@ msgid "Error getting the list of mirrors." msgstr "Fehler beim Laden der Spiegelserver." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" "Fehler beim Einlesen des JSON-Formats der Spiegelserverliste. Bitte diesen " @@ -3786,7 +3790,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Bester verfügbarer Mirror" #: editor/export_template_manager.cpp msgid "" @@ -3839,24 +3843,20 @@ msgid "SSL Handshake Error" msgstr "SSL-Handshake-Fehler" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "Exportvorlagen-ZIP-Datei konnte nicht geöffnet werden." +msgstr "Exportvorlagendatei konnte nicht geöffnet werden." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "Ungültiges version.txt-Format in Templates: %s." +msgstr "Ungültiges version.txt-Format in der Exportvorlagendatei: %s." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "Keine version.txt in Templates gefunden." +msgstr "Keine version.txt in Exportvorlagendatei gefunden." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" -msgstr "Fehler bei Erzeugen des Pfads für die Vorlagen:" +msgstr "Fehler bei Erzeugen des Pfads zum Extrahieren der Exportvorlagen:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -3867,9 +3867,8 @@ msgid "Importing:" msgstr "Importiere:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "Template-Version ‚%s‘ entfernen?" +msgstr "Exportvorlagenversion ‚%s‘ entfernen?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3885,44 +3884,54 @@ msgstr "Aktuelle Version:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." -msgstr "" +msgstr "Exportvorlagen fehlen. Download oder Installation aus Datei nötig." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "Exportvorlagen sind installiert und bereit zum Verwenden." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Datei öffnen" +msgstr "Ordner öffnen" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." msgstr "" +"Order mit den installierten Exportvorlagen der aktuellen Version öffnen." #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "Deinstallieren" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "Anfangswert für Zähler" +msgstr "Exportvorlagen der aktuellen Version deinstallieren." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Downloadfehler" +msgstr "Herunterladen von:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Im Browser ausführen" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Fehlermeldung kopieren" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Herunterladen und installieren" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Exportvorlagen der aktuellen Version vom bestmöglichen Mirror herunterladen " +"und installieren." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." @@ -3931,14 +3940,12 @@ msgstr "" "gestellt." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" -msgstr "Installiere aus Datei" +msgstr "Aus Datei installieren" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Vorlagen aus ZIP-Datei importieren" +msgstr "Exportvorlagen aus lokaler Datei installieren." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3946,19 +3953,16 @@ msgid "Cancel" msgstr "Abbrechen" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "Exportvorlagen-ZIP-Datei konnte nicht geöffnet werden." +msgstr "Herunterladen der Exportvorlagen abbrechen." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Installierte Versionen:" +msgstr "Andere installierte Versionen:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Deinstallieren" +msgstr "Exportvorlage deinstallieren" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -3973,6 +3977,8 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Download der Exportvorlage wird fortgesetzt.\n" +"Der Editor kann nach Ende des Downloads kurzfristig stocken." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4119,35 +4125,32 @@ msgid "Collapse All" msgstr "Alle einklappen" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Dateien suchen" +msgstr "Dateien sortieren" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Nach Name sortieren (aufsteigend)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Nach Name sortieren (absteigend)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Nach Typ sortieren (aufsteigend)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Nach Typ sortieren (absteigend)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Zuletzt bearbeitet" +msgstr "Nach Bearbeitungszeit sortieren (Aktuelles zuerst)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Zuletzt bearbeitet" +msgstr "Nach Bearbeitungszeit sortieren (Aktuelles zuletzt)" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4159,7 +4162,7 @@ msgstr "Umbenennen..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Suchfeld auswählen" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4471,14 +4474,12 @@ msgid "Failed to load resource." msgstr "Laden der Ressource gescheitert." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Eigenschaften" +msgstr "Eigenschaften kopieren" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Eigenschaften" +msgstr "Eigenschaften einfügen" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4503,23 +4504,20 @@ msgid "Save As..." msgstr "Speichern als..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "Nicht im Ressourcen-Pfad." +msgstr "Zusatz-Ressourcenoptionen." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Ressourcen-Zwischenablage bearbeiten" +msgstr "Ressource in Zwischenablage bearbeiten" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Ressource kopieren" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Einbetten" +msgstr "Ressource zu Built-In konvertieren" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4534,9 +4532,8 @@ msgid "History of recently edited objects." msgstr "Verlauf der zuletzt bearbeiteten Objekte." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Dokumentation öffnen" +msgstr "Dokumentation zu diesem Objekt öffnen." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4547,9 +4544,8 @@ msgid "Filter properties" msgstr "Eigenschaften filtern" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Objekteigenschaften." +msgstr "Objekteigenschaften verwalten." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4795,9 +4791,8 @@ msgid "Blend:" msgstr "Blende:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Parameter geändert" +msgstr "Parameter geändert:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5527,11 +5522,11 @@ msgstr "Alle" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Vorlagen, Projekte und Demos durchsuchen" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Assets durchsuchen (ausgenommen Vorlagen, Projekte und Demos)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5575,7 +5570,7 @@ msgstr "Nutzerinhalte als ZIP-Datei" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Audiovorschau abspielen/pausieren" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5836,13 +5831,13 @@ msgstr "Ankerpunkte ändern" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"Spielekamera überschreiben\n" -"Überschreibt die Spielekamera mit der Kamera des Anzeigefensters des Editors." +"Projektkamera überbrücken\n" +"Überbrückt die Kamera des laufenden Projekts mit der Kamera des " +"Anzeigefensters des Editors." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5851,6 +5846,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Projektkamera überbrücken\n" +"Es wird zur Zeit keine Projektinstanz ausgeführt. Um diese Funktion zu " +"nutzen muss ein Projekt durch den Editor gestartet werden." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5918,32 +5916,27 @@ msgstr "Auswahlmodus" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "Ausgewählten Node oder Übergang entfernen." +msgstr "Ziehen: Ausgewähltes Node um Pivotpunkt rotieren." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Ziehen = Verschieben" +msgstr "Alt+Ziehen = Ausgewähltes Node verschieben." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "Ausgewählten Node oder Übergang entfernen." +msgstr "V: Pivotpunkt des ausgewählten Nodes festlegen." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"Zeige eine Liste aller Objekte, die sich an der angeklickten Position " -"befinden\n" -"(equivalent zu Alt+RMT im Auswahlmodus)." +"Alt+RMT: Liste aller Nodes an Klickposition anzeigen, einschließlich " +"gesperrter." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "RMT: Node an Klickposition hinzufügen." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6183,14 +6176,12 @@ msgid "Clear Pose" msgstr "Pose/Stellung löschen" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Node hinzufügen" +msgstr "Node hier hinzufügen" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Instanz-Szene(n)" +msgstr "Szene hier instantiieren" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6206,49 +6197,43 @@ msgstr "Sicht verschieben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Auf 3.125% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Auf 6.25% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Auf 12.5% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Verkleinern" +msgstr "Auf 25% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Verkleinern" +msgstr "Auf 50% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Verkleinern" +msgstr "Auf 100% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Verkleinern" +msgstr "Auf 200% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Verkleinern" +msgstr "Auf 400% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Verkleinern" +msgstr "Auf 800% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Auf 1600% vergrößern" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6495,9 +6480,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "Ein einzelnes konvexes Kollisionselement konnte nicht erzeugt werden." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "Einzelne konvexe Form erstellen" +msgstr "Vereinfachte konvexe Form erstellen" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6535,9 +6519,8 @@ msgid "No mesh to debug." msgstr "Kein Mesh zu debuggen." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "Modell besitzt kein UV in dieser Schicht" +msgstr "Mesh hat kein UV in Schicht %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6602,16 +6585,19 @@ msgstr "" "Dies ist die schnellste (aber ungenauste) Methode für Kollisionsberechnungen." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Ein einzelnes konvexes Kollisionsnachbarelement erzeugen" +msgstr "Vereinfachtes konvexes Kollisionsnachbarelement erzeugen" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a simplified convex collision shape.\n" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"Erzeugt ein vereinfachtes konvexes Collision Shape.\n" +"Dies ist ähnlich zu einem einzigen Collision Shape, kann allerdings manchmal " +"zu einfacherer Geometrie führen, auf Kosten der Genauigkeit." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" @@ -6624,8 +6610,9 @@ msgid "" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" -"Erstellt ein polygon-basiertes Kollisionselement.\n" -"Dies liegt von der Geschwindigkeit in der Mitte der beiden anderen Methoden." +"Erstellt ein polygon-basiertes Collision Shape.\n" +"Dies liegt von der Geschwindigkeit in der Mitte zwischen einer einzelnen " +"konvexen Kollision und einer polygon-basierten Kollision." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -7271,24 +7258,20 @@ msgid "ResourcePreloader" msgstr "Ressourcen-Vorlader" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Horizontal umdrehen" +msgstr "Portale umdrehen" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Anzahl generierter Punkte:" +msgstr "Generiere Punkte mittels Room" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Anzahl generierter Punkte:" +msgstr "Generiere Punkte" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Horizontal umdrehen" +msgstr "Portal umdrehen" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7854,20 +7837,17 @@ msgid "None" msgstr "Nichts" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Status" +msgstr "Rotierung" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "Translation:" +msgstr "Verschiebung" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Skalierung:" +msgstr "Skalierung" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7890,52 +7870,44 @@ msgid "Animation Key Inserted." msgstr "Animationsschlüsselbild eingefügt." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "Neigen" +msgstr "Neigung:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Gierung:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Größe: " +msgstr "Größe:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "Gezeichnete Objekte" +msgstr "Gezeichnete Objekte:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "Materialänderungen" +msgstr "Materialänderungen:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "Shader-Änderungen" +msgstr "Shader-Änderungen:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "Oberflächen-Änderungen" +msgstr "Oberflächen-Änderungen:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Zeichenaufrufe" +msgstr "Zeichenaufrufe:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Eckpunkte" +msgstr "Eckpunkte:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "FPS: %d (%s ms)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -8091,9 +8063,8 @@ msgid "Freelook Slow Modifier" msgstr "Freisicht Trägheitsregler" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Ändere Kameragröße" +msgstr "Kameravorschau umschalten" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8115,9 +8086,8 @@ msgstr "" "Sie ist kein zuverlässiger Vergleichswert für die In-Spiel-Leistung." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Umwandeln zu %s" +msgstr "Räume umwandeln" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8139,7 +8109,6 @@ msgstr "" "(\"Röntgenblick\")." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Nodes am Boden einrasten" @@ -8159,7 +8128,7 @@ msgstr "Einrasten aktivieren" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "Räume für Portal-Culling konvertieren." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8255,9 +8224,8 @@ msgid "View Grid" msgstr "Zeige Gitter" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Einstellungen für Ansichten" +msgstr "Portal-Culling anzeigen" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8579,221 +8547,196 @@ msgid "TextureRegion" msgstr "Texturbereich" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Farbe" +msgstr "Farben" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Schriftart" +msgstr "Schriftarten" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Symbol" +msgstr "Symbole" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "Style-Box" +msgstr "Style-Boxen" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} Farbe(n)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "Keine Unter-Ressourcen gefunden." +msgstr "Keine Farben gefunden." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "Konstanten" +msgstr "{num} Konstante(n)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Farbkonstante." +msgstr "Keine Konstanten gefunden." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} Schriftart(en)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "Nicht gefunden!" +msgstr "Keine Schriftarten gefunden." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} Symbol(e)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "Nicht gefunden!" +msgstr "Keine Symbole gefunden." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} Style-Box(en)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "Keine Unter-Ressourcen gefunden." +msgstr "Keine Style-Boxen gefunden." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} zurzeit ausgewählt" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "Es wurde nichts zum Importieren ausgewählt." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "Theme importieren" +msgstr "Am Importieren von Thema-Elementen" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Am Importieren von Elementen {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Editor verlassen?" +msgstr "Den Editor aktualisieren?" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "Analysiere" +msgstr "Fertigstellen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Filter: " +msgstr "Filter:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "Mit Daten" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Node auswählen" +msgstr "Nach Datentyp auswählen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Teilung zum Löschen auswählen." +msgstr "Alle sichtbaren Farbelemente auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "Alle sichtbaren Farbelemente und deren Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Alle sichtbaren Farbelemente abwählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "Zuerst Einstellungspunkt auswählen!" +msgstr "Alle sichtbaren konstanten Elemente auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." -msgstr "" +msgstr "Alle sichtbaren konstanten Elemente und ihre Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "Alle sichtbaren konstanten Elemente abwählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "Zuerst Einstellungspunkt auswählen!" +msgstr "Alle sichtbaren Schriftart-Elemente auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." -msgstr "" +msgstr "Alle sichtbaren Schriftart-Elemente und ihre Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "Alle sichtbaren Schriftart-Elemente abwählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "Zuerst Einstellungspunkt auswählen!" +msgstr "Alle sichtbaren Symbolelemente auswählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "Zuerst Einstellungspunkt auswählen!" +msgstr "Alle sichtbaren Symbolelemente und ihre Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "Zuerst Einstellungspunkt auswählen!" +msgstr "Alle sichtbaren Symbolelemente abwählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "Alle sichtbaren Style-Box-Elemente auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." -msgstr "" +msgstr "Alle sichtbaren Style-Box-Elemente und ihre Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "Alle sichtbaren Style-Box-Elemente abwählen." #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Vorsicht: Das Hinzufügen von Symbolelement-Daten kann die Thema-Ressource " +"erheblich vergrößern." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Alle einklappen" +msgstr "Typen einklappen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Alle ausklappen" +msgstr "Typen ausklappen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Vorlagendatei auswählen" +msgstr "Alle Thema-Elemente auswählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "Punkte auswählen" +msgstr "Mit Daten auswählen" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Alle Thema-Elemente mit Element-Daten auswählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "Alles auswählen" +msgstr "Alles abwählen" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "Alle Themen-Elemente abwählen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Szene importieren" +msgstr "Ausgewähltes importieren" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8801,271 +8744,245 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"Es sind Elemente im „Elemente importieren“-Tab ausgewählt. Diese Auswahl " +"wird beim Schließen des Fensters verloren gehen.\n" +"Trotzdem schließen?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "Alle Elemente entfernen" +msgstr "Alle Farbelemente entfernen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Entferne Element" +msgstr "Element umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "Alle Elemente entfernen" +msgstr "Alle konstanten Elemente entfernen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "Alle Elemente entfernen" +msgstr "Alle Schriftart-Elemente entfernen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "Alle Elemente entfernen" +msgstr "Alle Symbol-Elemente entfernen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "Alle Elemente entfernen" +msgstr "Alle StyleBox-Elemente entfernen" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "Füge Klassen-Element hinzu" +msgstr "Farbelement hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "Füge Klassen-Element hinzu" +msgstr "Konstantes Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "Element hinzufügen" +msgstr "Schriftart-Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "Element hinzufügen" +msgstr "Symbol-Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "Alle Elemente hinzufügen" +msgstr "StyleBox-Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "Entferne Klassen-Element" +msgstr "Farbelement umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "Entferne Klassen-Element" +msgstr "Konstantes Element umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "Node umbenennen" +msgstr "Schriftart-Element umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "Node umbenennen" +msgstr "Symbol-Element umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "Ausgewähltes Element entfernen" +msgstr "StyleBox-Element umbenennen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "Ungültige Datei, kein Audiobus-Layout." +msgstr "Ungültige Datei, keine Thema-Ressource." #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." -msgstr "" +msgstr "Ungültige Datei, ist identisch mit der bearbeiteten Thema-Ressource." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "Vorlagen verwalten" +msgstr "Thema-Elemente verwalten" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "Bearbeitbares Element" +msgstr "Element bearbeiten" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Typ:" +msgstr "Typen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Typ:" +msgstr "Typ hinzufügen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "Element hinzufügen" +msgstr "Element hinzufügen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "Alle Elemente hinzufügen" +msgstr "StyleBox-Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "Entferne Element" +msgstr "Elemente entfernen:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" msgstr "Entferne Klassen-Element" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "Entferne Klassen-Element" +msgstr "Eigene Elemente entfernen" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" msgstr "Alle Elemente entfernen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "GUI-Thema-Elemente" +msgstr "Thema-Element hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Node-Name:" +msgstr "Alter Name:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "Theme importieren" +msgstr "Elemente importieren" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "Standard" +msgstr "Standard-Thema" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Thema bearbeiten" +msgstr "Editor-Motiv" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Ressource löschen" +msgstr "Andere Thema-Ressource auswählen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "Theme importieren" +msgstr "Anderes Design" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "Spur umbenennen" +msgstr "Elementumbenennung bestätigen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "Stapelweise Umbenennung" +msgstr "Elementumbenennung abbrechen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Überschreibungen" +msgstr "Element überbrücken" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +msgstr "Diese StyleBox nicht mehr als Hauptstil markieren." #: 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 "" +"Diese StyleBox als Hauptstil markieren. Geänderte Eigenschaften dieser " +"StyleBox werden ebenfalls in allen StyleBoxen des gleichen Typs geändert." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type" -msgstr "Art" +msgstr "Typ hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "Element hinzufügen" +msgstr "Elementtyp hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "Node-Typ" +msgstr "Node-Typen:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Standard laden" +msgstr "Standard anzeigen" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." -msgstr "" +msgstr "Standard Typelemente zusammen mit überbrückten Elementen anzeigen." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override All" -msgstr "Überschreibungen" +msgstr "Alle überbrücken" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "Alle Standard-Typelemente überbrücken." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Designvorlagen (Thema)" +msgstr "Thema:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "Exportvorlagen verwalten…" +msgstr "Elemente verwalten…" #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "Themenelemente hinzufügen, entfernen, verwalten und importieren." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Vorschau" +msgstr "Vorschau hinzufügen" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Vorschau aktualisieren" +msgstr "Standard-Vorschau" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "Quell-Mesh auswählen:" +msgstr "UI-Szene auswählen:" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Auswahlmodus für Control-Nodes umschalten. Erlaubt das visuelle Auswählen " +"von Control-Nodes zum Bearbeiten." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -9100,9 +9017,8 @@ msgid "Checked Radio Item" msgstr "Markiertes Element der Auswahl" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Ben. Trenner." +msgstr "Benannter Trenner" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9155,19 +9071,21 @@ msgstr "Hat,Mehrere,Einstellungen" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." msgstr "" +"Ungültiger Pfad. Die PackedScene-Ressource wurde vermutlich verschoben oder " +"gelöscht." #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." msgstr "" +"Ungültige PackedScene-Ressource. Muss ein Control-Node als Wurzel haben." #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "Ungültige Datei, kein Audiobus-Layout." +msgstr "Ungültige Datei, keine PackedScene-Ressource." #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "Die Szene neu laden um ihren aktuellsten Status widerzuspiegeln." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10574,9 +10492,8 @@ msgid "VisualShader" msgstr "VisuellerShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "Visuelle Eigenschaft bearbeiten" +msgstr "Visuelle Eigenschaft bearbeiten:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10701,9 +10618,8 @@ msgid "Script" msgstr "Skript" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "Skript-Exportmodus:" +msgstr "GDScript-Exportmodus:" #: editor/project_export.cpp msgid "Text" @@ -10711,21 +10627,21 @@ msgstr "Text" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "Kompilierter Bytecode (schnelleres Laden)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "Verschlüsselt (Schlüssel unten angeben)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "Ungültiger Schlüssel für Verschlüsselung (muss 64 Zeichen lang sein)" +msgstr "" +"Ungültiger Schlüssel für Verschlüsselung (muss aus 64 hexadezimalen Zeichen " +"bestehen)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Skript-Schlüssel (256 Bit hexadezimal):" +msgstr "Schlüssel zur GDScript-Verschlüsselung (256 bit, hexadezimal):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10797,7 +10713,6 @@ msgid "Imported Project" msgstr "Importiertes Projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Ungültiger Projektname." @@ -11027,14 +10942,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "Sollen wirklich %d Projekte gleichzeitig ausgeführt werden?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Gerät aus Liste auswählen" +msgstr "%d Projekte aus Liste entfernen?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Gerät aus Liste auswählen" +msgstr "Dieses Projekt von Liste entfernen?" #: editor/project_manager.cpp msgid "" @@ -11067,9 +10980,8 @@ msgid "Project Manager" msgstr "Projektverwaltung" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Projekte" +msgstr "Lokale Projekte" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11080,23 +10992,20 @@ msgid "Last Modified" msgstr "Zuletzt bearbeitet" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Projekt exportieren" +msgstr "Projekt bearbeiten" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Projekt umbenennen" +msgstr "Projekt ausführen" #: editor/project_manager.cpp msgid "Scan" msgstr "Scannen" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "Projekte" +msgstr "Nach Projekten suchen" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -11107,14 +11016,12 @@ msgid "New Project" msgstr "Neues Projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Importiertes Projekt" +msgstr "Projekt importieren" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "Projekt umbenennen" +msgstr "Projekt entfernen" #: editor/project_manager.cpp msgid "Remove Missing" @@ -11125,9 +11032,8 @@ msgid "About" msgstr "Über" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "Bestandsbibliothek (AssetLib)" +msgstr "Nutzerinhalte-Projekte" #: editor/project_manager.cpp msgid "Restart Now" @@ -11139,7 +11045,7 @@ msgstr "Alles entfernen" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "Ebenfalls Projektinhalte löschen (nicht rückgängig machbar!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11155,21 +11061,19 @@ msgstr "" "werden?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Eigenschaften filtern" +msgstr "Projekte filtern" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" -"Die Suchmaske filtert Projekte nach ihrem Namen oder der letzten Komponente " -"ihres Pfadnamens.\n" -"Um den Filter auf den gesamten Pfadnamen anzuwenden muss mindestens ein ‚/‘-" -"Zeichen in der Suchanfrage vorhanden sein." +"Diese Suchmaske filtert Projekte nach ihrem Namen oder der letzten " +"Komponente ihres Pfadnamens.\n" +"Um nach dem kompletten Pfad zu filtern muss mindestens ein ‚/‘-Zeichen in " +"der Suchanfrage vorhanden sein." #: editor/project_settings_editor.cpp msgid "Key " @@ -11177,7 +11081,7 @@ msgstr "Taste " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "Physische Taste" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -11225,7 +11129,7 @@ msgstr "Gerät" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (physisch)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11368,23 +11272,20 @@ msgid "Override for Feature" msgstr "Für Funktion überschreiben" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Übersetzung hinzufügen" +msgstr "%d Übersetzungen hinzufügen" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "Übersetzung entfernen" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Ressourcen-Umleitung hinzufügen" +msgstr "Übersetzungsressourcenumschreibung: %d Pfad(e) hinzufügen" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Ressourcen-Umleitung hinzufügen" +msgstr "Übersetzungsressourcenumschreibung: %d Umschreibung(en) hinzufügen" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11831,12 +11732,16 @@ msgstr "Node „%s“ löschen?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Um den Zweig als Szene speichern zu können muss eine Szene im Editor " +"geöffnet sein." #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." msgstr "" +"Um den Zweig als Szene speichern zu können darf nur ein Node ausgewählt " +"sein. Es sind allerdings %d Nodes ausgewählt." #: editor/scene_tree_dock.cpp msgid "" @@ -11845,6 +11750,11 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"Der Wurzel-Node-Zweig kann nicht als instantiierte Szene gespeichert " +"werden.\n" +"Eine bearbeitbare Kopie der aktuellen Szene kann im Kontextmenü der " +"Dateisystemleiste\n" +"oder im Menü unter „Szene > Neue geerbte Szene…“ erstellt werden." #: editor/scene_tree_dock.cpp msgid "" @@ -11852,6 +11762,10 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"Zeig einer bereits instantiierten Szene kann nicht gespeichert werden.\n" +"Ein Abwandlung der Szene zu erstellen, kann eine geerbten Szene, basiert auf " +"der instantiierten Szene, im Menü unter „Szene > Neue geerbte Szene…“ " +"erzeugt werden." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12260,6 +12174,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Hinweis: Der Skriptname ist identisch mit dem Name eines Built-In-Typs, " +"üblicherweise ein Fehler." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12331,7 +12247,7 @@ msgstr "Fehlermeldung kopieren" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "C++-Quelldatei auf GitHub aufrufen" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12509,6 +12425,16 @@ msgstr "Zylinderformhöhe ändern" msgid "Change Ray Shape Length" msgstr "Ändere Länge der Strahlenform" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Kurvenpunktposition festlegen" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Kurvenpunktposition festlegen" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Zylinderradius ändern" @@ -12620,14 +12546,12 @@ msgid "Object can't provide a length." msgstr "Objekt kann keine Länge vorweisen." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "MeshLibrary exportieren" +msgstr "GLTF2-Mesh exportieren" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Exportieren..." +msgstr "GLTF exportieren..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12670,9 +12594,8 @@ msgid "GridMap Paint" msgstr "GridMap zeichnen" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "GridMap-Auswahl füllen" +msgstr "GridMap-Auswahl" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12925,14 +12848,12 @@ msgid "Add Output Port" msgstr "Ausgangsschnittstelle hinzufügen" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Typ ändern" +msgstr "Schnittstellentyp ändern" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Eingangsschnittstellenname ändern" +msgstr "Schnittstellenname ändern" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -13047,9 +12968,8 @@ msgid "Add Preload Node" msgstr "Preload-Node hinzufügen" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" -msgstr "Node hinzufügen" +msgstr "Node(s) hinzufügen" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -13316,37 +13236,31 @@ msgstr "Gerät aus Liste auswählen" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "Läuft auf %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Exportiere alles" +msgstr "APK exportieren…" #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Deinstallieren" +msgstr "Am Deinstallieren…" #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Projekte werden geladen, bitte warten..." +msgstr "Am Installieren auf Gerät, bitte warten..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "Konnte Szene nicht instantiieren!" +msgstr "Konnte Installation auf Gerät nicht durchführen: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "Angepasstes Skript wird ausgeführt..." +msgstr "Auf Gerät ausführen…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "Ordner konnte nicht erstellt werden." +msgstr "Ließ sich nicht auf Gerät ausführen." #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13475,40 +13389,37 @@ msgid "" "directory.\n" "The resulting %s is unsigned." msgstr "" +"‚apksigner‘ konnte nicht gefunden werden.\n" +"Ist das Programm im Android SDK build-tools-Verzeichnis vorhanden?\n" +"Das resultierende %s ist nicht signiert." #: platform/android/export/export.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "Signiere Debug-Build %s…" #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"Lese Dateien,\n" -"Bitte warten..." +msgstr "Signiere Release-Build %s…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "Konnte Vorlage nicht zum Export öffnen:" +msgstr "Keystore konnte nicht gefunden werden, Export fehlgeschlagen." #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "‚apksigner‘ gab Fehlercode #%d zurück" #: platform/android/export/export.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "%s hinzufügen…" +msgstr "Verifiziere %s…" #: platform/android/export/export.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "‚apksigner‘-Verifizierung von %s fehlgeschlagen." #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "Exportiere alles" +msgstr "Exportiere für Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13527,7 +13438,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "Nicht unterstütztes Exportformat!\n" #: platform/android/export/export.cpp msgid "" @@ -13554,16 +13465,16 @@ msgstr "" msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" msgstr "" +"Kann res://android/build/res/*.xml Dateien nicht mit Projektnamen " +"überschreiben" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "project.godot konnte nicht im Projektpfad gefunden werden." +msgstr "Konnte Projektdateien nicht als Gradle-Projekt exportieren\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "Konnte Datei nicht schreiben:" +msgstr "Konnte Expansion-Package-Datei nicht schreiben!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13592,21 +13503,20 @@ msgstr "" "im Gradle Projektverzeichnis erscheinen." #: platform/android/export/export.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "Animation nicht gefunden: ‚%s‘" +msgstr "Paket nicht gefunden: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "Konturen erzeugen..." +msgstr "Erzeuge APK…" #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "Konnte Vorlage nicht zum Export öffnen:" +msgstr "" +"Konnte keine APK-Vorlage zum Exportieren finden:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13615,16 +13525,18 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"Fehlende Bibliotheken in Exportvorlage für die ausgewählten Architekturen: " +"%s.\n" +"Es muss entweder eine Exportvorlage mit den allen benötigten Bibliotheken " +"gebaut werden oder die angegebenen Architekturen müssen abgewählt werden." #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "%s hinzufügen…" +msgstr "Füge Dateien hinzu…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "Konnte Datei nicht schreiben:" +msgstr "Projektdateien konnten nicht exportiert werden" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13632,7 +13544,7 @@ msgstr "Richte APK aus..." #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "Temporäres unausgerichtetes APK konnte nicht entpackt werden." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13680,45 +13592,40 @@ msgid "Could not write file:" msgstr "Konnte Datei nicht schreiben:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "Konnte Datei nicht schreiben:" +msgstr "Konnte Datei nicht lesen:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "Konnte benutzerdefinierte HTML-Shell nicht lesen:" +msgstr "Konnte HTML-Shell nicht lesen:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "Ordner konnte nicht erstellt werden." +msgstr "Konnte HTTP-Server-Verzeichnis nicht erstellen:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Fehler beim Speichern der Szene." +msgstr "Fehler beim Starten des HTTP-Servers:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "Ungültiger Bezeichner:" +msgstr "Ungültiger Bundle-Bezeichner:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "Beglaubigung: Code-Signierung wird benötigt." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "Beglaubigung: Abgehärtete Ausführungsumgebung wird benötigt." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "Beglaubigung: Apple-ID-Name nicht angegeben." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "Beglaubigung: Apple-ID-Passwort nicht angegeben." #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -14162,6 +14069,9 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"Die Compress-Option von GIProbe gilt als veraltet wegen vorhandener Fehler " +"und hat keinen Effekt mehr.\n" +"Um diese Warnung zu deaktivieren, muss die Option deaktiviert werden." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14255,14 +14165,16 @@ msgstr "Node A und Node B müssen unterschiedliche PhysicsBody-Nodes sein" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." msgstr "" +"RoomManager darf kein direktes oder indirektes Unterelement von Portal sein." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Room darf kein direktes oder indirektes Unterelement von Portal sein." #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." msgstr "" +"RoomGroup darf kein direktes oder indirektes Unterelement von Portal sein." #: scene/3d/remote_transform.cpp msgid "" @@ -14275,41 +14187,85 @@ msgstr "" #: scene/3d/room.cpp msgid "A Room cannot have another Room as a child or grandchild." msgstr "" +"Room darf kein direktes oder indirektes Unterelement von einem anderen Room " +"sein." #: scene/3d/room.cpp msgid "The RoomManager should not be placed inside a Room." -msgstr "" +msgstr "RoomManager darf nicht in einem Room platziert werden." #: scene/3d/room.cpp msgid "A RoomGroup should not be placed inside a Room." -msgstr "" +msgstr "RoomGroup darf nicht in einem Room platziert werden." #: scene/3d/room.cpp msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"Die konvexe Hülle von Room enthält viele Ebenen.\n" +"Es bietet sich an Room-Hülle zu vereinfachen um die Leistung zu steigern." #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." -msgstr "" +msgstr "RoomManager darf nicht in einer RoomGroup platziert werden." #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "RoomList wurde nicht zugewiesen." #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." msgstr "" +"Das RoomList-Node muss ein Spatial (oder ein von Spatial abgeleitetes Node) " +"sein." #: scene/3d/room_manager.cpp msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"Die Portal-Tiefengrenze liegt bei Null.\n" +"Nur der Raum, der die Kamera enthält, wird gerendert werden." #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." +msgstr "Es darf nur ein RoomManager im Szenenbaum vorhanden sein." + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." msgstr "" #: scene/3d/soft_body.cpp @@ -14378,7 +14334,7 @@ msgstr "Animation nicht gefunden: ‚%s‘" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "Anim Reset anwenden" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14562,25 +14518,30 @@ msgid "Invalid comparison function for that type." msgstr "Ungültige Vergleichsfunktion für diesen Typ." #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." +msgstr "Varyings dürfen nicht in Funktion ‚%s‘ zugewiesen werden." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" +"Varyings, welche in der ‚vertex‘-Funktion zugewiesen wurden, können nicht " +"erneut in der ‚fragment‘- oder ‚light‘-Funktion zugewiesen werden." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" +"Varyings, welche in der ‚fragment‘-Funktion zugewiesen wurden, können nicht " +"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." @@ -15780,9 +15741,6 @@ msgstr "Konstanten können nicht verändert werden." #~ msgid "I see..." #~ msgstr "Verstehe..." -#~ msgid "Can't open '%s'." -#~ msgstr "‚%s‘ kann nicht geöffnet werden." - #~ msgid "Ugh" #~ msgstr "Ähm" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index bbd0bf9a6a..0f3b125484 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -331,6 +331,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -355,10 +356,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -913,7 +929,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2204,6 +2220,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2983,10 +3010,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3591,6 +3614,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8268,6 +8299,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8292,6 +8329,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11699,6 +11742,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13293,6 +13344,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index b26b28b5d4..93b5941f64 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -350,6 +350,7 @@ msgstr "Αλλαγή λειτουργίας επανάληψης κίνησης" msgid "Remove Anim Track" msgstr "Αφαίρεση Κομματιού Κίνησης" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Δημιουργία νέου κομματιού για %s και εισαγωγή κλειδιού;" @@ -374,10 +375,28 @@ msgstr "Δημιουργία" msgid "Anim Insert" msgstr "Εισαγωγή Κίνησης" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Αδύνατο το άνοιγμα του '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Κίνηση" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Ένα AnimationPlayer δεν μπορεί να κινήσει τον εαυτό του." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Η ιδιότητα '%s' δεν υπάρχει." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Δημιουργία & Εισαγωγή Κίνησης" @@ -960,7 +979,7 @@ msgstr "Δημιουργία νέου %s" msgid "No results for \"%s\"." msgstr "Κανένα αποτέλεσμα για \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2312,6 +2331,17 @@ msgid "New Window" msgstr "Νέο Παράθυρο" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Περιστρέφεται όταν το παράθυρο του επεξεργαστή επαναχρωματίζεται." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Οι εισαγμένοι πόροι δεν μπορούν να αποθηκευτούν." @@ -3190,10 +3220,6 @@ msgid "Save & Restart" msgstr "Αποθήκευση & Επανεκκίνηση" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Περιστρέφεται όταν το παράθυρο του επεξεργαστή επαναχρωματίζεται." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Συνεχόμενη Ανανέωση" @@ -3859,6 +3885,16 @@ msgid "Download from:" msgstr "Σφάλμα λήψης" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Εκτέλεση στον περιηγητή" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Αντιγραφή σφάλματος" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8759,6 +8795,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Αφαίρεση όλων των στοιχείων" @@ -8789,6 +8831,12 @@ msgid "Remove All StyleBox Items" msgstr "Αφαίρεση όλων των στοιχείων" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Προσθήκη στοιχείων κλάσης" @@ -12470,6 +12518,16 @@ msgstr "Αλλαγή Ύψους Σχήματος Κυλίνδρου" msgid "Change Ray Shape Length" msgstr "Αλλαγή μήκους ακτίνας" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Ορισμός θέσης σημείου καμπύλης" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Ορισμός θέσης σημείου καμπύλης" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Αλλαγή Ακτίνας Κυλίνδρου" @@ -14265,6 +14323,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Το σώμα αυτό δε θα ληφθεί υπόψιν μέχρι να ορίσετε ένα πλέγμα (mesh)." @@ -15708,9 +15802,6 @@ msgstr "Οι σταθερές δεν μπορούν να τροποποιηθο #~ msgid "I see..." #~ msgstr "Εντάξει..." -#~ msgid "Can't open '%s'." -#~ msgstr "Αδύνατο το άνοιγμα του '%s'." - #~ msgid "Ugh" #~ msgstr "α..." diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 51c69266cb..9f8c869bee 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -346,6 +346,7 @@ msgstr "Aliigi Animadon Iteracion Modon" msgid "Remove Anim Track" msgstr "Forigi animacian trakon" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Krei NOVAN trakon por %s kaj enmeti ŝlosilon?" @@ -370,10 +371,27 @@ msgstr "Krei" msgid "Anim Insert" msgstr "Animado Enmetu" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacio" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer ne povas animi si mem, nur aliajn ludantojn." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Atributo" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animado Krei & Enmeti" @@ -949,7 +967,7 @@ msgstr "Kreu novan %s" msgid "No results for \"%s\"." msgstr "Ne rezultoj por \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2299,6 +2317,17 @@ msgid "New Window" msgstr "Nova Fenestro" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Rotacius kiam la fenestron de la redaktilo redesegniĝi." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Enportitaj risurcoj ne povas konservi." @@ -3169,10 +3198,6 @@ msgid "Save & Restart" msgstr "Konservi kaj rekomenci" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Rotacius kiam la fenestron de la redaktilo redesegniĝi." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Ĝisdatigi kontinue" @@ -3827,6 +3852,16 @@ msgid "Download from:" msgstr "Elŝuta eraro" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Ruli en foliumilo" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopii eraro" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8655,6 +8690,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Forigi elementon" @@ -8685,6 +8726,12 @@ msgid "Remove All StyleBox Items" msgstr "Forigi elementon" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Aldoni al favoritaj" @@ -12208,6 +12255,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13839,6 +13894,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/es.po b/editor/translations/es.po index 6f0b9cd14f..eef4affde3 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -68,11 +68,12 @@ # hiking <joaquinfc@protonmail.com>, 2021. # pabloggomez <pgg2733@gmail.com>, 2021. # Erick Figueroa <querecuto@hotmail.com>, 2021. +# jonagamerpro1234 ss <js398704@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 02:33+0000\n" +"PO-Revision-Date: 2021-08-12 14:48+0000\n" "Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" @@ -81,7 +82,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -405,6 +406,7 @@ msgstr "Cambiar Modo Loop de Animación" msgid "Remove Anim Track" msgstr "Eliminar Pista de Animación" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "¿Crear nueva pista para %s e insertar clave?" @@ -429,10 +431,28 @@ msgstr "Crear" msgid "Anim Insert" msgstr "Insertar Animación" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "No se puede abrir '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animación" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Un AnimationPlayer no puede animarse a sí mismo, solo a otros players." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "No existe la propiedad '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Crear e Insertar Animación" @@ -645,9 +665,8 @@ msgid "Go to Previous Step" msgstr "Ir al Paso Anterior" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Resetear" +msgstr "Aplicar Restablecer" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -666,9 +685,8 @@ msgid "Use Bezier Curves" msgstr "Usar Curvas Bezier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Pegar Pistas" +msgstr "Crear pista(s) RESET" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -777,7 +795,7 @@ msgstr "%d coincidencias." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "Coincidir Mayús./Minús." +msgstr "Distinguir mayúsculas y minúsculas" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" @@ -995,9 +1013,8 @@ msgid "Edit..." msgstr "Editar..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" -msgstr "Ir Al Método" +msgstr "Ir al Método" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -1015,9 +1032,9 @@ msgstr "Crear Nuevo %s" msgid "No results for \"%s\"." msgstr "No hay resultados para \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "No hay descripción disponible para %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1117,18 +1134,16 @@ msgid "Owners Of:" msgstr "Propietarios De:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"¿Eliminar los archivos seleccionados del proyecto? (irreversible)\n" -"Puedes encontrar los archivos eliminados en la papelera de reciclaje del " -"sistema para restaurarlos." +"¿Eliminar los archivos seleccionados del proyecto? (No se puede deshacer).\n" +"Dependiendo de la configuración de su sistema de archivos, los archivos se " +"moverán a la papelera del sistema o se eliminarán permanentemente." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1136,11 +1151,10 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Otros recursos necesitan los archivos que estás intentando quitar para " -"funcionar.\n" -"¿Eliminarlos de todos modos? (irreversible)\n" -"Puedes encontrar los archivos eliminados en la papelera de reciclaje del " -"sistema para restaurarlos." +"Otros recursos requieren los archivos que se eliminan para que funcionen.\n" +"¿Eliminarlos de todos modos? (No se puede deshacer).\n" +"Dependiendo de la configuración de su sistema de archivos, los archivos se " +"moverán a la papelera del sistema o se eliminarán permanentemente." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1172,7 +1186,7 @@ msgstr "¡Errores al cargar!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "¿Eliminar permanentemente %d ítem(s)? (¡No se puede deshacer!)" +msgstr "¿Eliminar permanentemente %d elemento(s)? (¡No se puede deshacer!)" #: editor/dependency_editor.cpp msgid "Show Dependencies" @@ -1310,41 +1324,39 @@ msgid "Licenses" msgstr "Licencias" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Error al abrir el archivo del paquete (no está en formato ZIP)." +msgstr "" +"Error al abrir el archivo de assets para \"%s\" (no se encuentra en formato " +"ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Ya existe)" +msgstr "%s (ya existe)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "El contenido del asset \"%s\" - %d entra en conflicto con el proyecto:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Contenido del asset \"%s\" - No hay archivos en conflicto con el proyecto:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "Descomprimiendo Assets" +msgstr "Descomprimir Assets" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Los siguientes archivos no se pudieron extraer del paquete:" +msgstr "Ha fallado la extracción de los siguientes archivos del asset \"%s\":" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Y %d archivos más." +msgstr "(y %s archivos más)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "¡Paquete instalado con éxito!" +msgstr "¡El asset \"%s\" ha sido instalado con éxito!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1356,9 +1368,8 @@ msgid "Install" msgstr "Instalar" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Instalador de paquetes" +msgstr "Instalador de Assets" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1421,7 +1432,6 @@ msgid "Bypass" msgstr "Omitir" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Opciones de Bus" @@ -1589,13 +1599,12 @@ msgid "Can't add autoload:" msgstr "No se puede añadir un autoload:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." msgstr "El archivo no existe." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s es una ruta inválida. No está en la ruta del recurso (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1619,7 +1628,6 @@ msgid "Name" msgstr "Nombre" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" msgstr "Variable" @@ -1778,7 +1786,7 @@ msgstr "Editor de Script" #: editor/editor_feature_profile.cpp msgid "Asset Library" -msgstr "Biblioteca de Assets" +msgstr "Librería de Assets" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" @@ -1798,48 +1806,54 @@ msgstr "Importación" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permite ver y editar escenas 3D." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Permite editar scripts utilizando el editor de scripts integrado." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Proporciona acceso integrado a la Librería de Assets." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Permite editar la jerarquía de nodos en el dock de Escena." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Permite trabajar con señales y grupos del nodo seleccionado en el dock de " +"Escena." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Permite navegar por el sistema de archivos local a través de un dock " +"dedicado." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Permite configurar los ajustes de importación para assets individuales. " +"Requiere el dock FileSystem para funcionar." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Actual)" +msgstr "(actual)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(ninguno)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." msgstr "" +"¿Eliminar el perfil seleccionado en este momento, '%s'? No se puede deshacer." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1871,19 +1885,16 @@ msgid "Enable Contextual Editor" msgstr "Activar el Editor Contextual" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Propiedades:" +msgstr "Propiedades de Clase:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Características" +msgstr "Características principales:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Clases Activadas:" +msgstr "Clases y Nodos:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1903,7 +1914,6 @@ msgid "Error saving profile to path: '%s'." msgstr "Error al guardar el perfil en la ruta: '%s'." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "Restablecer Valores por Defecto" @@ -1912,14 +1922,12 @@ msgid "Current Profile:" msgstr "Perfil Actual:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Borrar Perfil" +msgstr "Crear perfil" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Eliminar Tile" +msgstr "Eliminar perfil" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1939,18 +1947,17 @@ msgid "Export" msgstr "Exportar" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Perfil Actual:" +msgstr "Configurar el perfil seleccionado:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Opciones de textura" +msgstr "Opciones adicionales:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Crea o importa un perfil para editar las clases y propiedades disponibles." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1977,9 +1984,8 @@ msgid "Select Current Folder" msgstr "Seleccionar Carpeta Actual" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "El archivo ya existe ¿Quieres sobreescribirlo?" +msgstr "El archivo existe, ¿sobrescribirlo?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2105,11 +2111,11 @@ msgstr "Mostrar/Ocultar archivos ocultos." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "Ver ítems como una cuadrícula de miniaturas." +msgstr "Ver elementos como una cuadrícula de miniaturas." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "Ver ítems como una lista." +msgstr "Ver elementos como una lista." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" @@ -2138,7 +2144,7 @@ msgstr "" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "(Re)Importando Assets" +msgstr "(Re)Importación de Assets" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -2183,7 +2189,7 @@ msgstr "Métodos" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "Propiedades de Temas" +msgstr "Propiedades del Theme" #: editor/editor_help.cpp msgid "Enumerations" @@ -2260,7 +2266,7 @@ msgstr "Solo Propiedades" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "Solo Propiedades del Tema" +msgstr "Solo Propiedades del Theme" #: editor/editor_help_search.cpp msgid "Member Type" @@ -2288,7 +2294,7 @@ msgstr "Propiedad" #: editor/editor_help_search.cpp msgid "Theme Property" -msgstr "Propiedades del Tema" +msgstr "Propiedades del Theme" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" @@ -2372,6 +2378,17 @@ msgid "New Window" msgstr "Nueva Ventana" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Gira cuando la ventana del editor se redibuja." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Los recursos importados no se pueden guardar." @@ -2604,13 +2621,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"La escena actual no tiene un nodo raíz, pero %d recurso(s) externo(s) " +"modificado(s) fueron guardados igualmente." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Se necesita un nodo raíz para guardar la escena." +msgstr "" +"Se requiere un nodo raíz para guardar la escena. Puede agregar un nodo raíz " +"utilizando el muelle de árbol de escenas." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2937,7 +2957,7 @@ msgstr "Convertir a..." #: editor/editor_node.cpp msgid "MeshLibrary..." -msgstr "MeshLibrary..." +msgstr "Biblioteca de malla..." #: editor/editor_node.cpp msgid "TileSet..." @@ -2999,9 +3019,8 @@ msgid "Orphan Resource Explorer..." msgstr "Explorador de Recursos Huérfanos..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Renombrar Proyecto" +msgstr "Recargar proyecto actual" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3163,22 +3182,20 @@ msgid "Help" msgstr "Ayuda" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Abrir Documentación" +msgstr "Documentación en línea" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Preguntas & Respuestas" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "Reportar un Bug" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "Establecer valor" +msgstr "Sugerir una característica" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3189,9 +3206,8 @@ msgid "Community" msgstr "Comunidad" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Acerca de" +msgstr "Sobre Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3243,10 +3259,6 @@ msgid "Save & Restart" msgstr "Guardar y Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Gira cuando la ventana del editor se redibuja." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Actualizar Continuamente" @@ -3289,14 +3301,12 @@ msgid "Manage Templates" msgstr "Administrar Plantillas" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" -msgstr "Instalar Desde Archivo" +msgstr "Instalar desde archivo" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Selecciona una Malla de Origen:" +msgstr "Seleccionar el archivo fuente de Android" #: editor/editor_node.cpp msgid "" @@ -3380,9 +3390,8 @@ msgid "Select" msgstr "Seleccionar" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Seleccionar Carpeta Actual" +msgstr "Seleccionar actual" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3398,7 +3407,7 @@ msgstr "Abrir Editor de Script" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Abrir Biblioteca de Assets" +msgstr "Abrir Librería de Assets" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -3417,9 +3426,8 @@ msgid "No sub-resources found." msgstr "No se encontró ningún sub-recurso." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "No se encontró ningún sub-recurso." +msgstr "Abra una lista de sub-recursos." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3446,14 +3454,12 @@ msgid "Update" msgstr "Actualizar" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Versión:" +msgstr "Versión" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Autores" +msgstr "Autor" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3466,14 +3472,12 @@ msgid "Measure:" msgstr "Medida:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Duración de Fotogramas (seg)" +msgstr "Duración de Fotogramas (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Tiempo Promedio (seg)" +msgstr "Tiempo Promedio (ms)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3500,6 +3504,12 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Inclusivo: Incluye el tiempo de otras funciones llamadas por esta función.\n" +"Utilízalo para detectar cuellos de botella.\n" +"\n" +"Propio: Sólo contabiliza el tiempo empleado en la propia función, no en " +"otras funciones llamadas por esa función.\n" +"Utilízalo para buscar funciones individuales que optimizar." #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3581,7 +3591,7 @@ msgstr "Página: " #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "Eliminar Ítem" +msgstr "Eliminar Elemento" #: editor/editor_properties_array_dict.cpp msgid "New Key:" @@ -3622,7 +3632,6 @@ msgid "Paste" msgstr "Pegar" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "Convertir a %s" @@ -3674,11 +3683,10 @@ msgid "Did you forget the '_run' method?" msgstr "Te olvidaste del método '_run'?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Mantén pulsado Ctrl para redondear a enteros. Mantén pulsado Shift para " -"cambios más precisos." +"Mantenga presionado %s para redondear a números enteros. Mantenga presionada " +"la tecla Mayús para cambios más precisos." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3698,49 +3706,43 @@ msgstr "Importar Desde Nodo:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Abra la carpeta que contiene estas plantillas." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Desinstalar estas plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "No hay ningún archivo `%s'." +msgstr "No hay espejos disponibles." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Obteniendo mirrors, por favor espera..." +msgstr "Recuperar la lista de espejos..." #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Comenzando la descarga..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Error al solicitar la URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Conectando con Mirror...." +msgstr "Conectando con el espejo..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "No se ha podido resolver el nombre de dominio:" +msgstr "No se puede resolver la dirección solicitada." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "No se puede conectar al host:" +msgstr "No se puede conectar al espejo." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "No hay respuesta desde el host:" +msgstr "No hay respuesta del espejo." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3748,18 +3750,16 @@ msgid "Request failed." msgstr "Petición fallida." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Petición fallida, demasiadas redirecciones" +msgstr "La solicitud terminó en un bucle de redirección." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Petición fallida." +msgstr "Petición fallida:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Descarga completa; extracción de plantillas..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3775,18 +3775,17 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Error getting the list of mirrors." -msgstr "Error al obtener la lista de mirrors." +msgstr "Error al obtener la lista de espejos." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" -"Error al analizar el JSON de la lista de mirrors. ¡Por favor, informa de " -"este problema!" +"Error al analizar el JSON con la lista de espejos ¡Por favor, reporta este " +"problema!" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "El mejor espejo disponible" #: editor/export_template_manager.cpp msgid "" @@ -3839,22 +3838,18 @@ msgid "SSL Handshake Error" msgstr "Error de Negociación SSL" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "No se puede abir el zip de plantillas de exportación." +msgstr "No se puede abrir el archivo de plantillas de exportación." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." msgstr "Formato de version.txt inválido dentro de plantillas: %s." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." msgstr "No se ha encontrado el archivo version.txt dentro de las plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" msgstr "Error al crear ruta para las plantillas:" @@ -3867,9 +3862,8 @@ msgid "Importing:" msgstr "Importando:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "¿Eliminar plantilla versión '%s'?" +msgstr "¿Eliminar plantilla de la versión '%s'?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3886,43 +3880,57 @@ msgstr "Versión Actual:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"Faltan las plantillas de exportación. Puede descargarlas o instalarlas desde " +"un archivo." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." msgstr "" +"Las plantillas de exportación están instaladas y listas para ser utilizadas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Abrir Archivo" +msgstr "Abrir carpeta" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." msgstr "" +"Abre la carpeta que contiene las plantillas instaladas para la versión " +"actual." #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "Desinstalar" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "Valor inicial para el contador" +msgstr "Desinstalar las plantillas de la versión actual." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Error de descarga" +msgstr "Descargar desde:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Ejecutar en Navegador" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copiar Error" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Descargar e instalar" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Descarga e instala las plantillas de la versión actual desde el mejor espejo " +"posible." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." @@ -3931,14 +3939,12 @@ msgstr "" "versiones de desarrollo." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" -msgstr "Instalar Desde Archivo" +msgstr "Instalar desde un archivo" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Importar plantillas desde un archivo ZIP" +msgstr "Instalar plantillas desde un archivo local." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3946,23 +3952,20 @@ msgid "Cancel" msgstr "Cancelar" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "No se puede abir el zip de plantillas de exportación." +msgstr "Cancele la descarga de las plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Versiones Instaladas:" +msgstr "Otras versiones instaladas:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Desinstalar" +msgstr "Desinstalar plantilla" #: editor/export_template_manager.cpp msgid "Select Template File" -msgstr "Selecciona un Archivo de Plantilla" +msgstr "Seleccionar el archivo de la plantilla" #: editor/export_template_manager.cpp msgid "Godot Export Templates" @@ -3973,6 +3976,8 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Las plantillas seguirán descargándose.\n" +"Es posible que experimente una breve congelación del editor cuando terminen." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4120,35 +4125,32 @@ msgid "Collapse All" msgstr "Colapsar Todo" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Buscar archivos" +msgstr "Ordenar archivos" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Ordenar por Nombre (Ascendente)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Ordenar por Nombre (Descendente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Ordenar por Tipo (Ascendente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Ordenar por Tipo (Descendente)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Ultima Modificación" +msgstr "Ordenar por Última Modificación" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Ultima Modificación" +msgstr "Ordenar por Primera Modificación" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4160,7 +4162,7 @@ msgstr "Renombrar..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Enfocar el cuadro de búsqueda" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4461,22 +4463,20 @@ msgstr "Cambiar el tipo de un archivo importado requiere reiniciar el editor." msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" -"ADVERTENCIA: Existen recursos que utilizan este recurso, pueden dejar de " -"cargar correctamente." +"ADVERTENCIA: Existen assets que utilizan este recurso, pueden dejar de " +"cargarse correctamente." #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Error al cargar el recurso." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Propiedades" +msgstr "Copiar Propiedades" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Propiedades" +msgstr "Pegar Propiedades" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4501,23 +4501,20 @@ msgid "Save As..." msgstr "Guardar como..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "No está en la ruta de recursos." +msgstr "Opciones de recursos extra." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Editar Portapapeles de Recursos" +msgstr "Editar Recurso desde el Portapapeles" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Copiar Recurso" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Crear Integrado" +msgstr "Crear Recursos Integrados" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4532,9 +4529,8 @@ msgid "History of recently edited objects." msgstr "Historial de objetos recientemente editados." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Abrir Documentación" +msgstr "Abrir la documentación de este objeto." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4545,9 +4541,8 @@ msgid "Filter properties" msgstr "Filtrar propiedades" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Propiedades del objeto." +msgstr "Administrar propiedades de los objetos." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4793,9 +4788,8 @@ msgid "Blend:" msgstr "Mezcla:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Parámetro Modificado" +msgstr "Parámetro Modificado:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5445,7 +5439,7 @@ msgstr "Fallo en la comprobación del hash SHA-256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "Error en la descarga del asset:" +msgstr "Error de Descarga de Assets:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading (%s / %s)..." @@ -5481,7 +5475,7 @@ msgstr "Error de descarga" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "¡Éste asset ya está descargándose!" +msgstr "¡La descarga de este asset ya está en proceso!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Recently Updated" @@ -5529,11 +5523,11 @@ msgstr "Todos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Buscar plantillas, proyectos y demostraciones" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Buscar assets (excluyendo plantillas, proyectos y demos)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5573,11 +5567,11 @@ msgstr "Cargar..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "Archivo ZIP de elementos" +msgstr "Archivo ZIP de assets" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Previsualización de Audio Reproducir/Pausar" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5838,13 +5832,13 @@ msgstr "Cambiar Anclas" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"Reemplazar Cámara del Juego\n" -"Reemplaza la cámara del juego por la cámara del viewport del editor." +"Anulación de la Cámara del Proyecto\n" +"Anula la cámara del proyecto en ejecución por la cámara del viewport del " +"editor." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5853,6 +5847,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Anulación de la Cámara del Proyecto\n" +"No se está ejecutando ninguna instancia del proyecto. Ejecuta el proyecto " +"desde el editor para utilizar esta función." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5920,32 +5917,27 @@ msgstr "Modo de Selección" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "Eliminar el nodo o transición seleccionado/a." +msgstr "Arrastrar: Girar el nodo seleccionado alrededor del pivote." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Arrastrar: Mover" +msgstr "Alt+Arrastrar: Mover el nodo seleccionado." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "Eliminar el nodo o transición seleccionado/a." +msgstr "V: Establecer la posición de pivote del nodo seleccionado." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"Mostrar una lista de todos los objetos en la posición en la que se ha hecho " -"clic\n" -"(igual que Alt + Clic Derecho en modo selección)." +"Alt + RMB: Muestra la lista de todos los nodos en la posición en la que se " +"hizo clic, incluido el bloqueado." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "RMB: Añade un nodo en la posición seleccionada." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6184,14 +6176,12 @@ msgid "Clear Pose" msgstr "Limpiar Pose" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Añadir Nodo" +msgstr "Añadir Nodo Aquí" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Instanciar Escena(s)" +msgstr "Instanciar Escena Aquí" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6207,49 +6197,43 @@ msgstr "Vista Panorámica" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Zoom al 3,125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Zoom al 6.25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Zoom al 12.5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Alejar Zoom" +msgstr "Zoom al 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Alejar Zoom" +msgstr "Zoom al 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Alejar Zoom" +msgstr "Zoom al 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Alejar Zoom" +msgstr "Zoom al 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Alejar Zoom" +msgstr "Zoom al 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Alejar Zoom" +msgstr "Zoom al 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Zoom al 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6451,15 +6435,15 @@ msgstr "Degradado Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "Ítem %d" +msgstr "Elemento %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "Ítems" +msgstr "Elementos" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "Editor de Lista de Ítems" +msgstr "Editor de Lista de Elementos" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" @@ -6496,9 +6480,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "No pudo crear una única forma de colisión convexa." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "Crear una Única Forma Convexa" +msgstr "Crear Forma Convexa Simplificada" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6535,9 +6518,8 @@ msgid "No mesh to debug." msgstr "No hay mallas para depurar." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "El modelo no tiene UV en esta capa" +msgstr "La malla no tiene UV en la capa %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6602,9 +6584,8 @@ msgstr "" "Es la opción más rápida (pero menos precisa) para la detección de colisiones." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Crear Collider Convexo Único Hermano" +msgstr "Crear Forma de Colisión Conexa Hermana" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6612,20 +6593,23 @@ msgid "" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"Crea una forma de colisión convexa simplificada.\n" +"Esto es similar a la forma de colisión simple, pero puede resultar en una " +"geometría más simple en algunos casos, a costa de la precisión." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" msgstr "Crear Múltiples Collider Convexos Hermanos" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" "Crea una forma de colisión basada en polígonos.\n" -"Este es un punto medio de rendimiento entre las dos opciones anteriores." +"Se trata de un punto intermedio de rendimiento entre una colisión convexa " +"única y una colisión basada en polígonos." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -6669,7 +6653,7 @@ msgstr "Depuración del Canal UV" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" -msgstr "¿Eliminar el ítem %d?" +msgstr "¿Eliminar el elemento %d?" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "" @@ -6685,11 +6669,11 @@ msgstr "Librería de Mallas" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Add Item" -msgstr "Añadir Ítem" +msgstr "Añadir Elemento" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "Eliminar Ítem Seleccionado" +msgstr "Eliminar Elemento Seleccionado" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import from Scene" @@ -6742,7 +6726,7 @@ msgstr "El origen de la superficie no es correcto (sin caras)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "Selecciona una Malla de Origen:" +msgstr "Seleccionar una Malla de Origen:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" @@ -7275,24 +7259,20 @@ msgid "ResourcePreloader" msgstr "Precargador de Recursos" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Voltear Horizontalmente" +msgstr "Voltear Portales" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Conteo de Puntos Generados:" +msgstr "Generar Puntos en la Room" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Conteo de Puntos Generados:" +msgstr "Generar puntos" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Voltear Horizontalmente" +msgstr "Voltear Portal" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7324,7 +7304,7 @@ msgstr "¡Error guardando archivo!" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme." -msgstr "Error al guardar el tema." +msgstr "Error al guardar el theme." #: editor/plugins/script_editor_plugin.cpp msgid "Error Saving" @@ -7332,7 +7312,7 @@ msgstr "Error al Guardar" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme." -msgstr "Error al importar el tema." +msgstr "Error al importar el theme." #: editor/plugins/script_editor_plugin.cpp msgid "Error Importing" @@ -7371,11 +7351,11 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "Importar Tema" +msgstr "Importar Theme" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "Error al guardar el tema" +msgstr "Error al guardar el theme" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" @@ -7383,7 +7363,7 @@ msgstr "Error al guardar" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "Guardar Tema Como..." +msgstr "Guardar Theme Como..." #: editor/plugins/script_editor_plugin.cpp msgid "%s Class Reference" @@ -7470,19 +7450,19 @@ msgstr "Siguiente en el Historial" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Theme" -msgstr "Tema" +msgstr "Theme" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme..." -msgstr "Importar Tema..." +msgstr "Importar Theme..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "Recargar Tema" +msgstr "Recargar Theme" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "Guardar Tema" +msgstr "Guardar Theme" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" @@ -7855,20 +7835,17 @@ msgid "None" msgstr "Ninguno" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Estado:" +msgstr "Rotar" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "Trasladar:" +msgstr "Mover" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Escala:" +msgstr "Escala" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7891,52 +7868,44 @@ msgid "Animation Key Inserted." msgstr "Clave de animación insertada." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "Altura" +msgstr "Eje de paso:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Eje de guiñada:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Tamaño: " +msgstr "Tamaño:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "Objetos Dibujados" +msgstr "Objetos Dibujados:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "Cambios del Material" +msgstr "Cambios del Material:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "Cambios del Shader" +msgstr "Cambios de sombreado:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "Cambios de Superficie" +msgstr "Cambios de superficie:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Llamadas de Dibujado" +msgstr "Llamadas de Dibujado:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Vértices" +msgstr "Vértices:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "FPS: %d (%s ms)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -8091,9 +8060,8 @@ msgid "Freelook Slow Modifier" msgstr "Modificador de Velocidad de Vista Libre" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Cambiar Tamaño de Cámara" +msgstr "Alternar Vista Previa de la Cámara" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8115,9 +8083,8 @@ msgstr "" "No se puede utilizar como un indicador fiable del rendimiento en el juego." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Convertir a %s" +msgstr "Convertir Rooms" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8139,7 +8106,6 @@ msgstr "" "opacas (\"x-ray\")." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Ajustar Nodos al Suelo" @@ -8157,7 +8123,7 @@ msgstr "Usar Snap" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "Convertir rooms para eliminar portales." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8253,9 +8219,8 @@ msgid "View Grid" msgstr "Ver Cuadrícula" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Configuración de ventanilla" +msgstr "Ver Eliminación de Portales" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8576,221 +8541,196 @@ msgid "TextureRegion" msgstr "Región de Textura" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Color" +msgstr "Colores" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Tipografía" +msgstr "Fonts" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Icono" +msgstr "Icons" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "Caja de estilos" +msgstr "Styleboxes" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} color(es)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "No se encontró ningún sub-recurso." +msgstr "No se encontraron colores." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "Constantes" +msgstr "{num} constant(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Constante de color." +msgstr "No se encontraron constants." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} font(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "¡No se ha encontrado!" +msgstr "No se han encontrado fonts." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} icon(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "¡No se ha encontrado!" +msgstr "No se han encontrado icons." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} stylebox(es)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "No se encontró ningún sub-recurso." +msgstr "No se encontraron styleboxes." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} seleccionado actualmente" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "No se ha seleccionado nada para la importación." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "Importar Tema" +msgstr "Importar Elementos del Theme" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Importación de elementos {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "¿Salir del editor?" +msgstr "Actualización del editor" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "Analizando" +msgstr "Finalizando" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Filtro: " +msgstr "Filtro:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "Con Datos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Selecciona un Nodo" +msgstr "Seleccionar por tipo de datos:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Selecciona una división para borrarla." +msgstr "Seleccionar todos los elementos color visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "Seleccionar todos los elementos color visibles y sus datos." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Deseleccionar todos los elementos color visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "¡Selecciona un ítem primero!" +msgstr "Seleccionar todos elementos constant visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." -msgstr "" +msgstr "Seleccionar todos los elementos constant visibles y sus datos." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "Deseleccionar todos los elementos constant visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "¡Selecciona un ítem primero!" +msgstr "Seleccionar todos los elementos font visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." -msgstr "" +msgstr "Seleccionar todos los elementos font visibles y sus datos." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "Deseleccionar todos los elementos font visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "¡Selecciona un ítem primero!" +msgstr "Seleccionar todos los elementos icon visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "¡Selecciona un ítem primero!" +msgstr "Seleccionar todos los elementos icon visibles y sus datos." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "¡Selecciona un ítem primero!" +msgstr "Deseleccionar todos los elementos icon visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "Seleccionar todos los elementos stylebox visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." -msgstr "" +msgstr "Seleccionar todos los elementos stylebox visibles y sus datos." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "Deseleccionar todos los elementos stylebox visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Precaución: Añadir datos de iconos puede aumentar considerablemente el " +"tamaño de su recurso Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Colapsar Todo" +msgstr "Tipos de colapso." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Expandir Todo" +msgstr "Expandir tipos." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Selecciona un Archivo de Plantilla" +msgstr "Seleccionar todos los elementos del Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "Seleccionar Puntos" +msgstr "Seleccionar Con Datos" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Seleccionar todos los elementos del Theme con los datos del elemento." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "Seleccionar Todo" +msgstr "Deseleccionar Todo" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "Deseleccionar todos los elementos del Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Importar Escena" +msgstr "Importar Seleccionado" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8798,271 +8738,248 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"En la pestaña de Elementos de Importación se han seleccionado algunos " +"elementos. La selección se perderá al cerrar esta ventana.\n" +"¿Cerrar de todos modos?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos de Color" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Eliminar Ítem" +msgstr "Cambiar Nombre de Elemento" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos Constant" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos Font" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos de Iconos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos de StyleBox" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "Añadir Clases de Ítems" +msgstr "Añadir Elemento Color" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "Añadir Clases de Ítems" +msgstr "Añadir Elemento Constant" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "Añadir Ítem" +msgstr "Añadir Elemento Font" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "Añadir Ítem" +msgstr "Añadir Elemento Icono" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "Añadir Todos los Ítems" +msgstr "Añadir Elemento Stylebox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "Eliminar Clases de Ítems" +msgstr "Cambiar Nombre del Elemento Color" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "Eliminar Clases de Ítems" +msgstr "Cambiar Nombre del Elemento Constant" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "Renombrar Nodo" +msgstr "Renombrar Elemento Font" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "Renombrar Nodo" +msgstr "Renombrar Elemento Icon" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "Eliminar Ítem Seleccionado" +msgstr "Renombrar Elemento Stylebox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "Archivo inválido. No es un layout de bus de audio." +msgstr "Archivo inválido, no es un recurso del Theme." #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." -msgstr "" +msgstr "Archivo inválido, igual que el recurso del Theme editado." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "Administrar Plantillas" +msgstr "Administrar Elementos del Theme" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "Ítem Editable" +msgstr "Editar Elementos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Tipo:" +msgstr "Tipos:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Tipo:" +msgstr "Añadir Tipo:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "Añadir Ítem" +msgstr "Añadir Elemento:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "Añadir Todos los Ítems" +msgstr "Añadir Elemento StyleBox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "Eliminar Ítem" +msgstr "Eliminar Elemento:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Eliminar Clases de Ítems" +msgstr "Eliminar Clases de Elementos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "Eliminar Clases de Ítems" +msgstr "Eliminar Elementos Personalizados" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "Eliminar Todos los Ítems" +msgstr "Eliminar Todos los Elementos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "Elementos del tema de interfaz" +msgstr "Añadir Elemento del Theme" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Nombre del Nodo:" +msgstr "Nombre Antiguo:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "Importar Tema" +msgstr "Importar Elementos" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "Predeterminado" +msgstr "Theme Predeterminado" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Editar Tema" +msgstr "Editor de Themes" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Eliminar Recurso" +msgstr "Seleccionar Otro Recurso del Theme:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "Importar Tema" +msgstr "Otro Theme" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "Renombrar pista de animación" +msgstr "Confirmar Cambio de Nombre del Elemento" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "Renombrar por lote" +msgstr "Cancelar Cambio de Nombre del Elemento" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Anulaciones" +msgstr "Elemento de Anulación" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +msgstr "Quitar este StyleBox como estilo principal." #: 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 "" +"Establecer este StyleBox como un estilo principal. La edición de sus " +"propiedades actualizará las mismas propiedades en todos los demás StyleBoxes " +"de este tipo." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type" -msgstr "Tipo" +msgstr "Añadir Tipo" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "Añadir Ítem" +msgstr "Añadir Tipo de Elemento" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "Tipo de nodo" +msgstr "Tipo de nodo:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Cargar Valores por Defecto" +msgstr "Mostrar Por Defecto" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." msgstr "" +"Mostrar los elementos de tipo por defecto junto a los elementos que han sido " +"anulados." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override All" -msgstr "Anulaciones" +msgstr "Anular Todo" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "Anular todos los elementos de tipo por defecto." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Tema" +msgstr "Theme:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "Administrar Plantillas de Exportación..." +msgstr "Administrar Elementos..." #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "Añadir, eliminar, organizar e importar elementos del Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Vista Previa" +msgstr "Añadir Vista Previa" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Actualizar Vista Previa" +msgstr "Vista Previa Por Defecto" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "Selecciona una Malla de Origen:" +msgstr "Seleccionar Escena UI:" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Activar el selector de controles, lo que permite seleccionar visualmente los " +"tipos de control para su edición." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -9074,32 +8991,31 @@ msgstr "Botón Desactivado" #: editor/plugins/theme_editor_preview.cpp msgid "Item" -msgstr "Ítem" +msgstr "Elemento" #: editor/plugins/theme_editor_preview.cpp msgid "Disabled Item" -msgstr "Desactivar Ítem" +msgstr "Desactivar Elemento" #: editor/plugins/theme_editor_preview.cpp msgid "Check Item" -msgstr "Activar Ítem" +msgstr "Activar Elemento" #: editor/plugins/theme_editor_preview.cpp msgid "Checked Item" -msgstr "Ítem Activado" +msgstr "Elemento Activado" #: editor/plugins/theme_editor_preview.cpp msgid "Radio Item" -msgstr "Radio Ítem" +msgstr "Radio Elemento" #: editor/plugins/theme_editor_preview.cpp msgid "Checked Radio Item" -msgstr "Radio Ítem Activo" +msgstr "Radio Elemento Activo" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Separador con nombre." +msgstr "Separador con nombre" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9107,11 +9023,11 @@ msgstr "Submenú" #: editor/plugins/theme_editor_preview.cpp msgid "Subitem 1" -msgstr "Subítem 1" +msgstr "Subelemento 1" #: editor/plugins/theme_editor_preview.cpp msgid "Subitem 2" -msgstr "Subítem 2" +msgstr "Subelemento 2" #: editor/plugins/theme_editor_preview.cpp msgid "Has" @@ -9139,7 +9055,7 @@ msgstr "Tab 3" #: editor/plugins/theme_editor_preview.cpp msgid "Editable Item" -msgstr "Ítem Editable" +msgstr "Elemento Editable" #: editor/plugins/theme_editor_preview.cpp msgid "Subtree" @@ -9152,19 +9068,19 @@ msgstr "Tienes, muchas, opciones" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." msgstr "" +"Ruta inválida, el recurso PackedScene probablemente fue movido o eliminado." #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." -msgstr "" +msgstr "Recurso PackedScene inválido, debe tener un nodo Control en raíz." #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "Archivo inválido. No es un layout de bus de audio." +msgstr "Archivo inválido, no es un recurso PackedScene." #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "Recargar la escena para reflejar su estado actual." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10569,9 +10485,8 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "Editar Propiedad Visual" +msgstr "Editar Propiedad Visual:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10698,9 +10613,8 @@ msgid "Script" msgstr "Script" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "Modo de exportación de scripts:" +msgstr "Modo de Exportación GDScript:" #: editor/project_export.cpp msgid "Text" @@ -10708,21 +10622,20 @@ msgstr "Texto" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "Bytecode Compilado (Carga Más Rápida)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "Encriptado (Proveer la Clave Debajo)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "Llave de Encriptación Inválida (debe tener 64 caracteres de largo)" +msgstr "" +"Llave de Encriptación Inválida (debe tener 64 caracteres hexadecimales)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Clave de cifrado de scripts (256-bits en hexadecimal):" +msgstr "Llave de Encriptación GDScript (256-bits en hexadecimal):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10796,7 +10709,6 @@ msgid "Imported Project" msgstr "Proyecto Importado" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Nombre de Proyecto Inválido." @@ -11015,7 +10927,7 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" -"No se puede ejecutar el proyecto: los assets necesitan ser importados.\n" +"No se puede ejecutar el proyecto: Los assets necesitan ser importados.\n" "Por favor, edita el proyecto para activar el importado inicial." #: editor/project_manager.cpp @@ -11023,14 +10935,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "¿Estás seguro de que vas a ejecutar %d proyectos a la vez?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Seleccionar dispositivo de la lista" +msgstr "¿Quitar %d proyectos de la lista?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Seleccionar dispositivo de la lista" +msgstr "¿Quitar este proyecto de la lista?" #: editor/project_manager.cpp msgid "" @@ -11064,9 +10974,8 @@ msgid "Project Manager" msgstr "Administrador de Proyectos" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Proyectos" +msgstr "Proyectos Locales" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11077,23 +10986,20 @@ msgid "Last Modified" msgstr "Ultima Modificación" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Exportar Proyecto" +msgstr "Editar Proyecto" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Renombrar Proyecto" +msgstr "Reproducir Proyecto" #: editor/project_manager.cpp msgid "Scan" msgstr "Escanear" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "Proyectos" +msgstr "Escanear Proyectos" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -11104,14 +11010,12 @@ msgid "New Project" msgstr "Nuevo Proyecto" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Proyecto Importado" +msgstr "Importar Proyecto" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "Renombrar Proyecto" +msgstr "Eliminar Proyecto" #: editor/project_manager.cpp msgid "Remove Missing" @@ -11122,9 +11026,8 @@ msgid "About" msgstr "Acerca de" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "Biblioteca de Assets" +msgstr "Proyectos de la Librería de Assets" #: editor/project_manager.cpp msgid "Restart Now" @@ -11136,7 +11039,7 @@ msgstr "Eliminar Todos" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "También eliminar el contenido del proyecto (¡no se puede deshacer!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11148,24 +11051,22 @@ msgid "" "Would you like to explore official example projects in the Asset Library?" msgstr "" "Actualmente no tienes ningún proyecto.\n" -"¿Quieres explorar proyectos de ejemplo oficiales en la Biblioteca de Assets?" +"¿Quieres explorar proyectos de ejemplo oficiales en la Librería de Assets?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Filtrar propiedades" +msgstr "Filtrar proyectos" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" -"La casilla de búsqueda filtra los proyectos por nombre y el último " -"componente de la ruta.\n" -"Para filtrar los proyectos por nombre y ruta completa, la consulta debe " -"contener al menos un carácter `/`." +"Este campo filtra los proyectos por nombre y por el último componente de la " +"ruta.\n" +"Para filtrar proyectos por nombre y ruta completa, la consulta debe contener " +"al menos un carácter `/`." #: editor/project_settings_editor.cpp msgid "Key " @@ -11173,7 +11074,7 @@ msgstr "Tecla " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "Tecla Física" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -11221,7 +11122,7 @@ msgstr "Dispositivo" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (Física)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11321,7 +11222,7 @@ msgstr "Añadir Propiedad Global" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "¡Selecciona un ítem primero!" +msgstr "¡Selecciona un elemento primero!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." @@ -11333,7 +11234,7 @@ msgstr "El ajuste '%s' es interno y no puede ser eliminado." #: editor/project_settings_editor.cpp msgid "Delete Item" -msgstr "Eliminar Ítem" +msgstr "Eliminar Elemento" #: editor/project_settings_editor.cpp msgid "" @@ -11364,23 +11265,20 @@ msgid "Override for Feature" msgstr "Anulación de la Característica" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Añadir Traducción" +msgstr "Añadir %d Traducciones" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "Eliminar Traducción" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Añadir Remapeo de Recursos" +msgstr "Remapeo de Recursos de Traducción: Añadir %d Ruta(s)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Añadir Remapeo de Recursos" +msgstr "Remapeo de Recursos de Traducción: Añadir %d Remapeo(s)" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11825,12 +11723,16 @@ msgstr "¿Eliminar nodo \"%s\"?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Guardar la rama como una escena requiere tener una escena abierta en el " +"editor." #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." msgstr "" +"Guardar la rama como una escena requiere seleccionar sólo un nodo, pero has " +"seleccionado %d nodos." #: editor/scene_tree_dock.cpp msgid "" @@ -11839,6 +11741,11 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"No se puede guardar la rama del nodo raíz como una escena instanciada.\n" +"Para crear una copia editable de la escena actual, duplícala usando el menú " +"contextual del dock Sistema de Archivos\n" +"o crea una escena heredada usando Escena > Nueva Escena Heredada... en su " +"lugar." #: editor/scene_tree_dock.cpp msgid "" @@ -11846,6 +11753,10 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"No se puede guardar la rama de una escena ya instanciada.\n" +"Para crear una variación de una escena, puedes hacer una escena heredada " +"basada en la escena instanciada usando Escena > Nueva Escena Heredada... en " +"su lugar." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12254,6 +12165,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Advertencia: No es recomendable que el nombre del script sea el mismo que el " +"de un tipo integrado." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12325,7 +12238,7 @@ msgstr "Copiar Error" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "Código Abierto C++ en GitHub" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12369,7 +12282,7 @@ msgstr "Monitores" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "Elige uno o más ítems de la lista para mostrar el gráfico." +msgstr "Elige uno o más elementos de la lista para mostrar el gráfico." #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" @@ -12503,6 +12416,16 @@ msgstr "Cambiar Altura de la Forma del Cilindro" msgid "Change Ray Shape Length" msgstr "Cambiar Longitud de la Forma del Rayo" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Establecer Posición de Punto de Curva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Establecer Posición de Punto de Curva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Cambiar Radio de Cylinder" @@ -12616,14 +12539,12 @@ msgid "Object can't provide a length." msgstr "El objeto no puede proporcionar una longitud." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "Exportar Librería de Mallas" +msgstr "Exportar Malla GLTF2" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Exportar…" +msgstr "Exportar GLTF..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12666,9 +12587,8 @@ msgid "GridMap Paint" msgstr "Pintar GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "Rellenar Selección en GridMap" +msgstr "Seleccionar GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12922,14 +12842,12 @@ msgid "Add Output Port" msgstr "Añadir Puerto de Salida" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Cambiar Tipo" +msgstr "Cambiar Tipo de Puerto" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Cambiar nombre del puerto de entrada" +msgstr "Cambiar Nombre de Puerto" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -13044,9 +12962,8 @@ msgid "Add Preload Node" msgstr "Añadir Nodo Preload" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" -msgstr "Añadir Nodo" +msgstr "Añadir Nodo(s)" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -13313,37 +13230,31 @@ msgstr "Seleccionar dispositivo de la lista" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "Ejecutar en %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Exportar Todo" +msgstr "Exportar APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Desinstalar" +msgstr "Desinstalando..." #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Cargando, espera por favor..." +msgstr "Instalando en el dispositivo, espera por favor..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "¡No se pudo instanciar la escena!" +msgstr "No se pudo instalar en el dispositivo: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "Ejecutando Script Personalizado..." +msgstr "Ejecutando en el dispositivo..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "No se pudo crear la carpeta." +msgstr "No se ha podido ejecutar en el dispositivo." #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13473,45 +13384,43 @@ msgid "" "directory.\n" "The resulting %s is unsigned." msgstr "" +"No se ha encontrado 'apksigner'.\n" +"Por favor, compruebe que el comando está disponible en el directorio Android " +"SDK build-tools.\n" +"El resultado %s es sin firma." #: platform/android/export/export.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "Firma de depuración %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"Escaneando archivos,\n" -"Por favor, espere..." +msgstr "Firmando liberación %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "No se pudo abrir la plantilla para exportar:" +msgstr "No se pudo encontrar la keystore, no se puedo exportar." #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "'apksigner' ha retornado con error #%d" #: platform/android/export/export.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "Añadiendo %s..." +msgstr "Verificando %s..." #: platform/android/export/export.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "La verificación de 'apksigner' de %s ha fallado." #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "Exportar Todo" +msgstr "Exportando para Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" -"¡Nombre de archivo inválido! Android App Bundle requiere la extensión *.aab." +"¡Nombre del archivo inválido! Android App Bundle requiere la extensión *.aab." #: platform/android/export/export.cpp msgid "APK Expansion not compatible with Android App Bundle." @@ -13523,7 +13432,7 @@ msgstr "¡Nombre de archivo inválido! Android APK requiere la extensión *.apk. #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "¡Formato de exportación no compatible!\n" #: platform/android/export/export.cpp msgid "" @@ -13551,16 +13460,16 @@ msgstr "" msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" msgstr "" +"No se puede sobrescribir los archivos res://android/build/res/*.xml con el " +"nombre del proyecto" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "No se encontró project.godot en la ruta del proyecto." +msgstr "No se pueden exportar los archivos del proyecto a un proyecto gradle\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "No se puede escribir en el archivo:" +msgstr "¡No se pudo escribir el archivo del paquete de expansión!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13588,21 +13497,20 @@ msgstr "" "directorio del proyecto de gradle para ver los resultados." #: platform/android/export/export.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "No se encontró la animación: '%s'" +msgstr "Paquete no encontrado:% s" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "Creando contornos..." +msgstr "Creando APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "No se pudo abrir la plantilla para exportar:" +msgstr "" +"No se pudo encontrar la plantilla APK para exportar:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13611,16 +13519,18 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"Faltan bibliotecas en la plantilla de exportación para las arquitecturas " +"seleccionadas: %s.\n" +"Por favor, construya una plantilla con todas las bibliotecas necesarias, o " +"desmarque las arquitecturas que faltan en el preajuste de exportación." #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "Añadiendo %s..." +msgstr "Añadiendo archivos ..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "No se puede escribir en el archivo:" +msgstr "No se pudieron exportar los archivos del proyecto" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13628,15 +13538,15 @@ msgstr "Alineando APK..." #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "No se pudo descomprimir el APK no alineado temporal." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." -msgstr "Identificador no encontrado." +msgstr "Falta el identificador." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "The character '%s' is not allowed in Identifier." -msgstr "El carácter '%s' no esta permitido como identificador." +msgstr "El carácter '% s' no está permitido en el Identificador." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." @@ -13676,45 +13586,40 @@ msgid "Could not write file:" msgstr "No se puede escribir en el archivo:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "No se puede escribir en el archivo:" +msgstr "No se pudo leer el archivo:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "No se puede leer shell HTML personalizada:" +msgstr "No se pudo leer el shell HTML:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "No se pudo crear la carpeta." +msgstr "No se pudo crear el directorio del servidor HTTP:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Error al guardar escena." +msgstr "Error al iniciar el servidor HTTP:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "Identificador inválido:" +msgstr "Identificador de paquete no válido:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "Notarización: se requiere firma de código." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "Notarización: se requiere tiempo de ejecución reforzado." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "Notarización: nombre de ID de Apple no especificado." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "Notarización: contraseña de ID de Apple no especificada." #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -14162,6 +14067,9 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"La propiedad Compress de GIProbe ha quedado obsoleta debido a errores " +"conocidos y ya no tiene ningún efecto.\n" +"Para eliminar esta advertencia, desactiva la propiedad Compress de GIProbe." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14253,15 +14161,15 @@ msgstr "El nodo A y el nodo B deben ser diferentes PhysicsBody" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." -msgstr "" +msgstr "El RoomManager no debe ser hijo o nieto de un Portal." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Una Room no debe ser hijo o nieto de un Portal." #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Un RoomGroup no debe ser hijo o nieto de un Portal." #: scene/3d/remote_transform.cpp msgid "" @@ -14273,42 +14181,83 @@ msgstr "" #: scene/3d/room.cpp msgid "A Room cannot have another Room as a child or grandchild." -msgstr "" +msgstr "Una Room no puede tener otra Room como hija o nieta." #: scene/3d/room.cpp msgid "The RoomManager should not be placed inside a Room." -msgstr "" +msgstr "El RoomManager no debe ubicarse dentro de una Room." #: scene/3d/room.cpp msgid "A RoomGroup should not be placed inside a Room." -msgstr "" +msgstr "Un RoomGroup no debe colocarse dentro de una Room." #: scene/3d/room.cpp msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"El cuerpo convexo de la room contiene un gran número de planos.\n" +"Considera la posibilidad de simplificar los límites de la room para aumentar " +"el rendimiento." #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." -msgstr "" +msgstr "El RoomManager no debe colocarse dentro de un RoomGroup." #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "La RoomList no ha sido asignada." #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." -msgstr "" +msgstr "El nodo RoomList debe ser un Spatial (o derivado de Spatial)." #: scene/3d/room_manager.cpp msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"El Límite de Profundidad del Portal está ajustado a cero.\n" +"Sólo se renderizará la room en la que se encuentra la cámara." #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." +msgstr "Sólo debe haber un RoomManager en el SceneTree." + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." msgstr "" #: scene/3d/soft_body.cpp @@ -14375,7 +14324,7 @@ msgstr "No se encontró la animación: '%s'" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "Aplicar Reset de la Animación" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14553,25 +14502,30 @@ msgid "Invalid comparison function for that type." msgstr "Función de comparación inválida para este tipo." #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "Solo se pueden asignar variaciones en funciones de vértice." +msgstr "No se puede asignar la variable en la función '%s'." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" +"Las variaciones asignadas en función 'vértice' no pueden reasignarse en " +"'fragmento' o 'luz'." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" +"Varyings Cuál asignó en 'fragmento' la función no puede ser reasignada en " +"'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." @@ -15771,9 +15725,6 @@ msgstr "Las constantes no pueden modificarse." #~ msgid "I see..." #~ msgstr "Ya veo..." -#~ msgid "Can't open '%s'." -#~ msgstr "No se puede abrir '%s'." - #~ msgid "Ugh" #~ msgstr "Vaya" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 53041c74fd..d5c955a347 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 02:33+0000\n" +"PO-Revision-Date: 2021-08-06 06:47+0000\n" "Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" @@ -30,7 +30,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -353,6 +353,7 @@ msgstr "Cambiar Modo de Bucle de Animación" msgid "Remove Anim Track" msgstr "Quitar pista de animación" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Crear NUEVO track para %s e insertar clave?" @@ -377,10 +378,28 @@ msgstr "Crear" msgid "Anim Insert" msgstr "Insertar Anim" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "No se puede abrir '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animación" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Un AnimationPlayer no puede animarse a sí mismo, solo a otros players." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "No existe la propiedad '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Crear e Insertar Animación" @@ -591,9 +610,8 @@ msgid "Go to Previous Step" msgstr "Ir a Paso Previo" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Resetear" +msgstr "Aplicar Reset" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -612,9 +630,8 @@ msgid "Use Bezier Curves" msgstr "Usar Curvas Bezier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Pegar Pistas" +msgstr "Crear RESET Track(s)" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -940,9 +957,8 @@ msgid "Edit..." msgstr "Editar..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" -msgstr "Ir Al Método" +msgstr "Ir al Método" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -960,9 +976,9 @@ msgstr "Crear Nuevo %s" msgid "No results for \"%s\"." msgstr "No hay resultados para \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "No hay descripción disponible para %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1260,9 +1276,8 @@ msgid "Error opening asset file for \"%s\" (not in ZIP format)." msgstr "Error al abrir el archivo de paquete (no esta en formato ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Ya existe)" +msgstr "%s (ya existe)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" @@ -1277,19 +1292,16 @@ msgid "Uncompressing Assets" msgstr "Descomprimiendo Assets" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Los siguientes archivos no se pudieron extraer del paquete:" +msgstr "Falló la extracción de los siguientes archivos del asset \"%s\":" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Y %d archivos más." +msgstr "(y %s archivos más)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "El Paquete se instaló exitosamente!" +msgstr "El asset \"%s\" se instaló exitosamente!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1301,9 +1313,8 @@ msgid "Install" msgstr "Instalar" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Instalador de Paquetes" +msgstr "Instalador de Assets" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1366,7 +1377,6 @@ msgid "Bypass" msgstr "Bypass" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Opciones de Bus" @@ -1491,7 +1501,7 @@ msgstr "No debe coincidir con el nombre de una clase ya existente del motor." #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing built-in type name." -msgstr "No debe coincidir con el nombre de un tipo built-in ya existente." +msgstr "No debe coincidir con el nombre de un tipo integrado ya existente." #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing global constant name." @@ -1534,13 +1544,12 @@ msgid "Can't add autoload:" msgstr "No se puede agregar autoload:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "El archivo existe." +msgstr "%s es una ruta inválida. El archivo no existe." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s es una ruta inválida. No esta en la ruta de recursos (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1564,9 +1573,8 @@ msgid "Name" msgstr "Nombre" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Variable" +msgstr "Variable Global" #: editor/editor_data.cpp msgid "Paste Params" @@ -1742,29 +1750,32 @@ msgstr "Dock de Importación" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permite ver y editar escenas 3D." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Permite editar scripts usando el editor de scripts integrado." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Provee acceso integrado a la Biblioteca de Assets." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Permite editar la jerarquía de nodos en el panel de Escena." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Permite trabajar con señales y grupos del nodo seleccionado en el panel de " +"Escena." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Permite explorar el sistema de archivos local a través de un panel dedicado." #: editor/editor_feature_profile.cpp msgid "" @@ -1773,13 +1784,12 @@ msgid "" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Actual)" +msgstr "(actual)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(ninguno)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." @@ -1815,19 +1825,16 @@ msgid "Enable Contextual Editor" msgstr "Activar el Editor Contextual" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Propiedades:" +msgstr "Propiedades de Clase:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Características" +msgstr "Características Principales:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Clases Activadas:" +msgstr "Nodos y Clases:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1847,23 +1854,20 @@ msgid "Error saving profile to path: '%s'." msgstr "Error al guardar el perfil en la ruta: '%s'." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" -msgstr "Restablecer Valores Por Defecto" +msgstr "Restablecer a Valores Por Defecto" #: editor/editor_feature_profile.cpp msgid "Current Profile:" msgstr "Perfil Actual:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Borrar Perfil" +msgstr "Crear Perfil" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Remover Tile" +msgstr "Remover Perfil" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1883,14 +1887,12 @@ msgid "Export" msgstr "Exportar" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Perfil Actual:" +msgstr "Configurar Perfil Seleccionado:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Opciones de Textura" +msgstr "Opciones Extra:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." @@ -1921,9 +1923,8 @@ msgid "Select Current Folder" msgstr "Seleccionar Carpeta Actual" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "El Archivo Existe, Sobreescribir?" +msgstr "El archivo existe, sobrescribir?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2316,6 +2317,17 @@ msgid "New Window" msgstr "Nueva Ventana" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Gira cuando la ventana del editor se redibuja." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Los recursos importados no se pueden guardar." @@ -2944,9 +2956,8 @@ msgid "Orphan Resource Explorer..." msgstr "Explorador de Recursos Huérfanos..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Renombrar Proyecto" +msgstr "Volver a Cargar el Proyecto Actual" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3106,22 +3117,20 @@ msgid "Help" msgstr "Ayuda" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Abrir Documentación" +msgstr "Documentación En Línea" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Preguntas y Respuestas" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "Reportar un Bug" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "Setear un Valor" +msgstr "Sugerir una Feature" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3132,9 +3141,8 @@ msgid "Community" msgstr "Comunidad" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Acerca de" +msgstr "Acerca de Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3186,10 +3194,6 @@ msgid "Save & Restart" msgstr "Guardar y Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Gira cuando la ventana del editor se redibuja." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Actualizar Continuamente" @@ -3232,9 +3236,8 @@ msgid "Manage Templates" msgstr "Administrar Plantillas" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" -msgstr "Instalar Desde Archivo" +msgstr "Instalar desde archivo" #: editor/editor_node.cpp #, fuzzy @@ -3323,9 +3326,8 @@ msgid "Select" msgstr "Seleccionar" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Seleccionar Carpeta Actual" +msgstr "Seleccionar Actual" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3389,14 +3391,12 @@ msgid "Update" msgstr "Actualizar" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Version:" +msgstr "Version" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Autores" +msgstr "Autor" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3414,7 +3414,6 @@ msgid "Frame Time (ms)" msgstr "Duración de Frame (seg)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" msgstr "Tiempo Promedio (seg)" @@ -3564,9 +3563,8 @@ msgid "Paste" msgstr "Pegar" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" -msgstr "Convertir A %s" +msgstr "Convertir a %s" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New %s" @@ -3640,49 +3638,43 @@ msgstr "Importar Desde Nodo:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Abrir la carpeta que contiene estas plantillas." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Desinstalar estas plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "No hay ningún archivo '%s'." +msgstr "No hay mirrors disponibles." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Recuperando mirrors, esperá, por favor..." +msgstr "Obteniendo la lista de mirrors..." #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Iniciando la descarga..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Error al solicitar la URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Conectando al Mirror..." +msgstr "Conectando al mirror..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "No se ha podido resolver el nombre del host:" +msgstr "No se pudo resolver la dirección indicada." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "No se puede conectar al host:" +msgstr "No se puede conectar al mirror." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "No hay respuesta desde el host:" +msgstr "No hubo respuesta desde el mirror." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3690,18 +3682,16 @@ msgid "Request failed." msgstr "Solicitud fallida." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Solicitud fallida, demasiadas redireccinoes" +msgstr "La solicitud termino en un bucle de redirecciones." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Solicitud fallida." +msgstr "Solicitud fallida:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Descarga completada; extrayendo plantillas..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3728,7 +3718,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Mejor mirror disponible" #: editor/export_template_manager.cpp msgid "" @@ -3828,15 +3818,17 @@ msgstr "Version Actual:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"Faltan las plantillas de exportación. Descargalas o instalalas desde un " +"archivo." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." msgstr "" +"Las plantillas de exportación están instaladas y listas para ser usadas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Abrir Archivo" +msgstr "Abrir Carpeta" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." @@ -3852,13 +3844,22 @@ msgid "Uninstall templates for the current version." msgstr "Valor inicial para el contador" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Error de Descarga" +msgstr "Descargar desde:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Ejecutar en el Navegador" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copiar Error" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Descargar e Instalar" #: editor/export_template_manager.cpp msgid "" @@ -3873,14 +3874,12 @@ msgstr "" "versiones de desarrollo." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" -msgstr "Instalar Desde Archivo" +msgstr "Instalar desde Archivo" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Importar Plantillas Desde Archivo ZIP" +msgstr "Instalar plantillas desde un archivo local." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3888,19 +3887,16 @@ msgid "Cancel" msgstr "Cancelar" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "No se puede abir el zip de plantillas de exportación." +msgstr "Cancelar la descarga de las plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Versiones Instaladas:" +msgstr "Otras Versiones Instaladas:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Desinstalar" +msgstr "Desinstalar Plantilla" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -4062,35 +4058,32 @@ msgid "Collapse All" msgstr "Colapsar Todos" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Buscar archivos" +msgstr "Ordenar archivos" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Ordenar por Nombre (Ascendente)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Ordenar por Nombre (Descendente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Ordenar por Tipo (Ascendente)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Ordenar por Tipo (Descendente)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Ultima Modificación" +msgstr "Ordenar por Ultima Modificación" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Ultima Modificación" +msgstr "Ordenar por Primera Modificación" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4102,7 +4095,7 @@ msgstr "Renombrar..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Ubicar foco en la caja de búsqueda" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4412,14 +4405,12 @@ msgid "Failed to load resource." msgstr "Fallo al cargar recurso." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Propiedades" +msgstr "Copiar Propiedades" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Propiedades" +msgstr "Pegar Propiedades" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4444,23 +4435,20 @@ msgid "Save As..." msgstr "Guardar Como..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "No está en la ruta de recursos." +msgstr "Opciones de recursos extra." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Editar Portapapeles de Recursos" +msgstr "Editar Recurso desde el Portapapeles" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Copiar Recurso" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Crear Built-In" +msgstr "Convertir en Recurso Integrado" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4475,9 +4463,8 @@ msgid "History of recently edited objects." msgstr "Historial de objetos recientemente editados." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Abrir Documentación" +msgstr "Abrir la documentación para este objeto." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4488,9 +4475,8 @@ msgid "Filter properties" msgstr "Filtrar propiedades" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Propiedades del objeto." +msgstr "Administrar propiedades del objeto." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4735,9 +4721,8 @@ msgid "Blend:" msgstr "Blend:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Parámetro Modificado" +msgstr "Parámetro Modificado:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5471,11 +5456,11 @@ msgstr "Todos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Buscar plantillas, proyectos y demos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Buscar assets (excluyendo plantillas, proyectos y demos)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -6124,14 +6109,12 @@ msgid "Clear Pose" msgstr "Restablecer Pose" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Agregar Nodo" +msgstr "Agregar Nodo Acá" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Instanciar Escena(s)" +msgstr "Instanciar Escena Acá" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6147,49 +6130,43 @@ msgstr "Panear Vista" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Zoom a 3.125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Zoom a 6.25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Zoom a 12.5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Alejar Zoom" +msgstr "Zoom a 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Alejar Zoom" +msgstr "Zoom a 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Alejar Zoom" +msgstr "Zoom a 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Alejar Zoom" +msgstr "Zoom a 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Alejar Zoom" +msgstr "Zoom a 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Alejar Zoom" +msgstr "Zoom a 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Zoom a 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -8734,6 +8711,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Quitar Todos los Ítems" @@ -8764,6 +8747,12 @@ msgid "Remove All StyleBox Items" msgstr "Quitar Todos los Ítems" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Agregar Items de Clases" @@ -12188,6 +12177,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Advertencia: Usualmente no se recomienda que un script tenga el mismo nombre " +"que un tipo integrado." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12437,6 +12428,16 @@ msgstr "Cambiar Altura de Shape Cilindro" msgid "Change Ray Shape Length" msgstr "Cambiar Largo de Shape Rayo" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Setear Posición de Punto de Curva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Setear Posición de Punto de Curva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Cambiar Radio de Cilindro" @@ -14233,6 +14234,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Este cuerpo será ignorado hasta que se establezca un mesh." @@ -15498,9 +15535,6 @@ msgstr "Las constantes no pueden modificarse." #~ msgid "I see..." #~ msgstr "Ya Veo..." -#~ msgid "Can't open '%s'." -#~ msgstr "No se puede abrir '%s'." - #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/et.po b/editor/translations/et.po index 6f8561f8ab..13019cd9e3 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -340,6 +340,7 @@ msgstr "Muuda animatsiooni silmuse režiimi" msgid "Remove Anim Track" msgstr "Eemalda animatsiooni rada" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Loo uus rada %s-le ja sisesta võti?" @@ -364,10 +365,27 @@ msgstr "Loo" msgid "Anim Insert" msgstr "Animatsiooni sisestus" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animatsioon" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer ei saa ennast animeerida, ainult teise mänijaid." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Atribuut" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Loo ja sisesta animatsioon" @@ -930,7 +948,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2261,6 +2279,17 @@ msgid "New Window" msgstr "Uus aken" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Imporditud ressursse ei saa salvestada." @@ -3057,10 +3086,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3673,6 +3698,16 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Ava failihalduris" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopeeri viga" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8388,6 +8423,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Eemalda kõik katkepunktid" @@ -8418,6 +8459,12 @@ msgid "Remove All StyleBox Items" msgstr "Eemalda kõik katkepunktid" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Lisa lemmikutesse" @@ -11868,6 +11915,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13479,6 +13534,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/eu.po b/editor/translations/eu.po index 018f65b79e..7b6934ff33 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -340,6 +340,7 @@ msgstr "Animazioaren Loop Modua Aldatu" msgid "Remove Anim Track" msgstr "Ezabatu Animazio Pista" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s-rentzat pista berria sortu eta giltza sartu?" @@ -364,10 +365,27 @@ msgstr "Sortu" msgid "Anim Insert" msgstr "Animazioa Sartu" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Kargatu animazioa" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer bat ezin da norbera animatu, soilik beste playerrak." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Propietateak" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animazioa Sortu eta Txertatu" @@ -929,7 +947,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2242,6 +2260,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3025,10 +3054,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3648,6 +3673,15 @@ msgid "Download from:" msgstr "Jaitsiera errorea" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Ireki fitxategi-kudeatzailean" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8355,6 +8389,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Kendu elementu guztiak" @@ -8385,6 +8425,12 @@ msgid "Remove All StyleBox Items" msgstr "Kendu elementu guztiak" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11835,6 +11881,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13441,6 +13495,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 09cc83a73b..bb761cf137 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -357,6 +357,7 @@ msgstr "تغییر حالت تکررار (Loop) انیمیشن" msgid "Remove Anim Track" msgstr "حذف ترک انیمشین" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "یک ترک جدید برای s% بساز و کلید را درج کن؟" @@ -381,10 +382,28 @@ msgstr "تولید" msgid "Anim Insert" msgstr "در انیمیشن درج کن" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "در حال اتصال..." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "انیمیشن" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "انیمیشن پلیر نمی تواند خود را انیمیت کند. فقط پلیر دیگر." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "ویژگی '%s' موجود نیست." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "ساختن و درج انیمیشن" @@ -959,7 +978,7 @@ msgstr "ساختن %s جدید" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2282,6 +2301,17 @@ msgid "New Window" msgstr "چارچوب جدید" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3075,10 +3105,6 @@ msgid "Save & Restart" msgstr "ذخیره و خروج" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "مستمر" @@ -3722,6 +3748,16 @@ msgid "Download from:" msgstr "خطاهای بارگیری" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "گشودن در مدیر پرونده" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "خطاهای بارگذاری" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8726,6 +8762,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "برداشتن انتخاب شده" @@ -8756,6 +8798,12 @@ msgid "Remove All StyleBox Items" msgstr "برداشتن انتخاب شده" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "افزودن مورد" @@ -12427,6 +12475,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "برداشتن موج" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "برداشتن موج" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -14176,6 +14234,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -14873,10 +14967,6 @@ msgstr "ثوابت قابل تغییر نیستند." #~ msgid "Thanks!" #~ msgstr "با تشکر !" -#, fuzzy -#~ msgid "Can't open '%s'." -#~ msgstr "در حال اتصال..." - #~ msgid "Run Script" #~ msgstr "اجرای اسکریپت" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index f0b5ff0457..ffedccec28 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 21:48+0000\n" +"PO-Revision-Date: 2021-08-10 21:40+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -25,7 +25,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -347,6 +347,7 @@ msgstr "Vaihda animaation toistotilaa" msgid "Remove Anim Track" msgstr "Poista animaatioraita" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Luo kohteelle %s UUSI raita ja lisää avain?" @@ -371,10 +372,28 @@ msgstr "Luo" msgid "Anim Insert" msgstr "Animaatio: lisää" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Ei voida avata tiedostoa '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animaatio" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer ei voi animoida itseään, vain muita toistimia." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Ominaisuutta '%s' ei löytynyt." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animaatio: luo ja lisää" @@ -580,9 +599,8 @@ msgid "Go to Previous Step" msgstr "Mene edelliseen askeleeseen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Palauta" +msgstr "Tee palautus" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -601,9 +619,8 @@ msgid "Use Bezier Curves" msgstr "Käytä Bezier-käyriä" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Liitä raidat" +msgstr "Luo palautusraidat" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -927,7 +944,6 @@ msgid "Edit..." msgstr "Muokkaa..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Mene metodiin" @@ -947,9 +963,9 @@ msgstr "Luo uusi %s" msgid "No results for \"%s\"." msgstr "Ei tuloksia haulle \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "%s kuvaus ei ole saatavilla." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1049,18 +1065,16 @@ msgid "Owners Of:" msgstr "Omistajat kohteelle:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Poista valitut tiedostot projektista? (ei voida kumota)\n" -"Löydät poistetut tiedostot järjestelmän roskakorista, mikäli haluat " -"palauttaa ne." +"Poista valitut tiedostot projektista? (Ei voida kumota.)\n" +"Riippuen tiedostojärjestelmäsi asetuksista, tiedostot siirretään joko " +"järjestelmän roskakoriin tai poistetaan pysyvästi." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1069,9 +1083,9 @@ msgid "" "to the system trash or deleted permanently." msgstr "" "Poistettavia tiedostoja tarvitaan muiden resurssien toimivuuteen.\n" -"Poistetaanko silti? (ei voida kumota)\n" -"Löydät poistetut tiedostot järjestelmän roskakorista, mikäli haluat " -"palauttaa ne." +"Poistetaanko ne silti? (Ei voida kumota.)\n" +"Riippuen tiedostojärjestelmäsi asetuksista, tiedostot siirretään joko " +"järjestelmän roskakoriin tai poistetaan pysyvästi." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1241,41 +1255,39 @@ msgid "Licenses" msgstr "Lisenssit" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Virhe avattaessa pakettitiedostoa (se ei ole ZIP-muodossa)." +msgstr "Virhe avattaessa \"%s\" asset-tiedostoa (se ei ole ZIP-muodossa)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s (on jo olemassa)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" msgstr "" +"Assetin \"%s\"sisältö - %d tiedostoa on ristiriidassa projektisi kanssa:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Assetin \"%s\" sisältö - Yksikään tiedosto ei ole ristiriidassa projektisi " +"kanssa:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Puretaan assetteja" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Seuraavien tiedostojen purku paketista epäonnistui:" +msgstr "Seuraavien tiedostojen purku assetista \"%s\" epäonnistui:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Ja vielä %s tiedostoa." +msgstr "(ja vielä %s tiedostoa)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Paketti asennettu onnistuneesti!" +msgstr "Asset \"%s\" asennettu onnistuneesti!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1287,9 +1299,8 @@ msgid "Install" msgstr "Asenna" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Pakettien asentaja" +msgstr "Assettien asentaja" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1352,7 +1363,6 @@ msgid "Bypass" msgstr "Ohita" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Väylän asetukset" @@ -1523,13 +1533,12 @@ msgid "Can't add autoload:" msgstr "Ei voida lisätä automaattisesti ladattavaa:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Tiedostoa ei ole olemassa." +msgstr "%s on virheellinen polku. Tiedostoa ei ole olemassa." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s on virheellinen polku. Ei löydy resurssipolusta (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1553,9 +1562,8 @@ msgid "Name" msgstr "Nimi" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Muuttuja" +msgstr "Globaali muuttuja" #: editor/editor_data.cpp msgid "Paste Params" @@ -1728,48 +1736,51 @@ msgstr "Tuontitelakka" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Antaa katsella ja muokata 3D-skenejä." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Antaa muokata skriptejä käyttäen integroitua skriptieditoria." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Tarjoaa valmiin pääsyn Asset-kirjastoon." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Antaa muokata solmuhierarkiaa Skene-telakassa." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Antaa työskennellä valitun solmun signaalien ja ryhmien kanssa Skene-" +"telakassa." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." -msgstr "" +msgstr "Antaa selata paikallista tiedostojärjestelmää erillisellä telakalla." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Antaa konfiguroida tuontiasetuksia yksittäiselle assetille. Edellyttää " +"Tiedostojärjestelmä-telakkaa toimiakseen." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Nykyinen)" +msgstr "(nykyinen)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(ei mikään)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "Poistetaanko nykyinen valittu profiili, '%s'? Ei voida kumota." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1802,19 +1813,16 @@ msgid "Enable Contextual Editor" msgstr "Ota asiayhteydellinen editori käyttöön" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Ominaisuudet:" +msgstr "Luokan ominaisuudet:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Ominaisuudet" +msgstr "Pääominaisuudet:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Käytössä olevat luokat:" +msgstr "Solmut ja luokat:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1833,7 +1841,6 @@ msgid "Error saving profile to path: '%s'." msgstr "Virhe tallennettaessa profiilia polkuun: '%s'." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "Palauta oletusarvoihin" @@ -1842,14 +1849,12 @@ msgid "Current Profile:" msgstr "Nykyinen profiili:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Tyhjennä profiili" +msgstr "Luo profiili" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Poista laatta" +msgstr "Poista profiili" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1869,18 +1874,17 @@ msgid "Export" msgstr "Vie" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Nykyinen profiili:" +msgstr "Konfiguroi valittu profiili:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Tekstuurin asetukset" +msgstr "Ylimääräiset asetukset:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Luo tai tuo profiili muokataksesi saatavilla olevia luokkia ja ominaisuuksia." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1907,9 +1911,8 @@ msgid "Select Current Folder" msgstr "Valitse nykyinen kansio" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "Tiedosto on jo olemassa, korvaa?" +msgstr "Tiedosto on jo olemassa, korvataanko?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2301,6 +2304,17 @@ msgid "New Window" msgstr "Uusi ikkuna" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Pyörii kun editorin ikkuna päivittyy." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Tuotuja resursseja ei voida tallentaa." @@ -2530,13 +2544,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"Nykyisellä skenellä ei ole juurisolmua, mutta %d muokattua ulkoista " +"resurssia tallennettiin silti." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Skenen tallentaminen edellyttää, että sillä on juurisolmu." +msgstr "" +"Skenen tallentaminen edellyttää, että sillä on juurisolmu. Voit lisätä " +"juurisolmun Skene-telakasta." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2914,9 +2931,8 @@ msgid "Orphan Resource Explorer..." msgstr "Irrallisten resurssien hallinta..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Nimetä projekti" +msgstr "Lataa uudelleen nykyinen projekti" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3076,22 +3092,20 @@ msgid "Help" msgstr "Ohje" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Avaa dokumentaatio" +msgstr "Online-dokumentaatio" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Kysymykset & vastaukset" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "Raportoi bugi" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "Aseta arvo" +msgstr "Ehdota ominaisuutta" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3102,9 +3116,8 @@ msgid "Community" msgstr "Yhteisö" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Tietoja" +msgstr "Tietoja Godotista" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3156,10 +3169,6 @@ msgid "Save & Restart" msgstr "Tallenna & käynnistä uudelleen" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Pyörii kun editorin ikkuna päivittyy." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Päivitä jatkuvasti" @@ -3200,14 +3209,12 @@ msgid "Manage Templates" msgstr "Hallinnoi malleja" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" msgstr "Asenna tiedostosta" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Valitse lähdemesh:" +msgstr "Valitse android-lähdetiedosto" #: editor/editor_node.cpp msgid "" @@ -3290,9 +3297,8 @@ msgid "Select" msgstr "Valitse" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Valitse nykyinen kansio" +msgstr "Valitse nykyinen" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3327,9 +3333,8 @@ msgid "No sub-resources found." msgstr "Aliresursseja ei löydetty." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Aliresursseja ei löydetty." +msgstr "Avaa aliresurssien luettelo." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3356,14 +3361,12 @@ msgid "Update" msgstr "Päivitä" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Versio:" +msgstr "Versio" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Tekijät" +msgstr "Tekijä" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3376,14 +3379,12 @@ msgid "Measure:" msgstr "Mittaa:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Kuvaruudun aika (sek)" +msgstr "Kuvaruudun aika (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Keskimääräinen aika (sek)" +msgstr "Keskimääräinen aika (ms)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3410,6 +3411,13 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Sisältävä: Sisältää muissa tämän funktion kutsumissa funktioissa kuluneen " +"ajan.\n" +"Käytä tätä löytääksesi pullonkaulat.\n" +"\n" +"Itse: Lasketaan ainoastaan funktiossa itsessään kulunut aika, eikä muissa " +"tuon funktion kutsumissa funktioissa käytettyä aikaa.\n" +"Käytä tätä löytääksesi yksittäiset optimointia vaativat funktiot." #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3532,7 +3540,6 @@ msgid "Paste" msgstr "Liitä" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "Muunna muotoon %s" @@ -3625,31 +3632,27 @@ msgstr "Noudetaan peilipalvelimia, hetkinen..." #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Aloitetaan lataus..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Virhe pyydettäessä osoitetta:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." msgstr "Yhdistetään peilipalvelimeen..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "Palvelinta ei löytynyt:" +msgstr "Pyydetyn osoitteen selvitys ei onnistunut." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Isäntään yhdistäminen epäonnistui:" +msgstr "Peilipalvelimeen yhdistäminen epäonnistui." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Ei vastausta isännältä:" +msgstr "Ei vastausta peilipalvelimelta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3657,18 +3660,16 @@ msgid "Request failed." msgstr "Pyyntö epäonnistui." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Pyyntö epäonnistui, liikaa uudelleenohjauksia" +msgstr "Pyyntö päätyi uudelleenohjaussilmukkaan." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Pyyntö epäonnistui." +msgstr "Pyyntö epäonnistui:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Lataaminen valmis; puretaan malleja..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3695,7 +3696,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Paras saatavilla oleva peilipalvelin" #: editor/export_template_manager.cpp msgid "" @@ -3748,9 +3749,8 @@ msgid "SSL Handshake Error" msgstr "Virhe SSL kättelyssä" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "Vientimallien zip-tiedostoa ei voitu avata." +msgstr "Vientimallien tiedostoa ei voida avata." #: editor/export_template_manager.cpp #, fuzzy @@ -3801,9 +3801,8 @@ msgid "Export templates are installed and ready to be used." msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Avaa tiedosto" +msgstr "Avaa kansio" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." @@ -3819,33 +3818,42 @@ msgid "Uninstall templates for the current version." msgstr "Laskurin alkuarvo" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Latausvirhe" +msgstr "Lataa sijannista:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Suorita selaimessa" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopioi virhe" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Lataa ja asenna" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Lataa ja asenna mallit nykyiselle versiolle parhaasta mahdollisesta " +"peilipalvelimesta." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." msgstr "Viralliset vientimallit eivät ole saatavilla kehityskäännöksille." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" msgstr "Asenna tiedostosta" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Tuo mallit ZIP-tiedostosta" +msgstr "Asenna mallit paikallisesta tiedostosta." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3853,19 +3861,16 @@ msgid "Cancel" msgstr "Peruuta" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "Vientimallien zip-tiedostoa ei voitu avata." +msgstr "Keskeytä mallien lataus." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Asennetut versiot:" +msgstr "Muut asennetut versiot:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Poista asennus" +msgstr "Poista malli" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -3880,6 +3885,8 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Mallien lataus jatkuu.\n" +"Saatat kokea lyhyitä editorin jähmettymisiä niiden tullessa valmiiksi." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4026,35 +4033,32 @@ msgid "Collapse All" msgstr "Tiivistä kaikki" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Etsi tiedostoista" +msgstr "Lajittele tiedostot" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Lajittele nimen mukaan (nouseva)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Lajittele nimen mukaan (laskeva)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Lajittele tyypin mukaan (nouseva)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Lajittele tyypin mukaan (laskeva)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Viimeksi muutettu" +msgstr "Lajittele viimeksi muokatun mukaan" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Viimeksi muutettu" +msgstr "Lajittele ensiksi muokatun mukaan" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4378,14 +4382,12 @@ msgid "Failed to load resource." msgstr "Resurssin lataaminen epäonnistui." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Ominaisuudet" +msgstr "Kopioi ominaisuudet" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Ominaisuudet" +msgstr "Liitä ominaisuudet" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4410,9 +4412,8 @@ msgid "Save As..." msgstr "Tallenna nimellä..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "Ei löytynyt resurssipolusta." +msgstr "Ylimääräiset resurssivalinnat." #: editor/inspector_dock.cpp #, fuzzy @@ -5437,7 +5438,7 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Etsi assetteja (poislukien mallit, projektit ja demot)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5481,7 +5482,7 @@ msgstr "Assettien zip-tiedosto" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Äänen esikuuntelun toisto/keskeytys" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5741,13 +5742,12 @@ msgstr "Muuta ankkureita" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"Pelikameran ohitus\n" -"Ohittaa pelikameran editorin näyttöruutukameralla." +"Projektikameran ohitus\n" +"Ohittaa käynnissä olevan projektin kameran editorin näyttöruutukameralla." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5756,6 +5756,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Projektikameran ohitus\n" +"Mikään projekti ei ole käynnissä. Aja projekti editorista käyttääksesi tätä " +"ominaisuutta." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -8692,6 +8695,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Poista kaikki" @@ -8722,6 +8731,12 @@ msgid "Remove All StyleBox Items" msgstr "Poista kaikki" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Lisää luokka" @@ -12384,6 +12399,16 @@ msgstr "Muuta sylinterimuodon korkeutta" msgid "Change Ray Shape Length" msgstr "Vaihda säteen muodon pituutta" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Aseta käyräpisteen sijainti" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Aseta käyräpisteen sijainti" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Muuta sylinterin sädettä" @@ -14163,6 +14188,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Tämä kappale sivuutetaan, kunnes asetat meshin." @@ -15490,9 +15551,6 @@ msgstr "Vakioita ei voi muokata." #~ msgid "I see..." #~ msgstr "Ymmärrän..." -#~ msgid "Can't open '%s'." -#~ msgstr "Ei voida avata tiedostoa '%s'." - #~ msgid "Ugh" #~ msgstr "Äh" diff --git a/editor/translations/fil.po b/editor/translations/fil.po index aacdf9c442..e53b7bb1a7 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -345,6 +345,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -369,10 +370,26 @@ msgstr "Lumikha" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Pagulit ng Animation" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -928,7 +945,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2222,6 +2239,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3002,10 +3030,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Tuloy-tuloy" @@ -3615,6 +3639,14 @@ msgid "Download from:" msgstr "Kumpleto ang pag-Download." #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8303,6 +8335,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8329,6 +8367,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11749,6 +11793,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13350,6 +13402,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 9be7d406dd..e6e2c9021e 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -42,7 +42,7 @@ # Xananax <xananax@yelostudio.com>, 2017-2018. # Perrier Mathis <mathis.perrier73@gmail.com>, 2018. # Ewan Lehnebach <ewan.lehnebach@gmail.com>, 2018. -# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018, 2019, 2020. +# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018, 2019, 2020, 2021. # Grigore Antoniuc <grisa181@gmail.com>, 2018. # x2f <x.defoy@gmail.com>, 2018. # LittleWhite <lw.demoscene@googlemail.com>, 2018. @@ -81,12 +81,14 @@ # ASTRALE <jules.cercy@etu.univ-lyon1.fr>, 2021. # Julien Vanelian <julienvanelian@hotmail.com>, 2021. # Clément Topy <topy72.mine@gmail.com>, 2021. +# Cold <coldragon78@gmail.com>, 2021. +# Blackiris <divjvc@free.fr>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-16 05:47+0000\n" -"Last-Translator: Pierre Caye <pierrecaye@laposte.net>\n" +"PO-Revision-Date: 2021-08-12 14:48+0000\n" +"Last-Translator: Blackiris <divjvc@free.fr>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -94,7 +96,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -416,6 +418,7 @@ msgstr "Modifier le mode de boucle d’animation" msgid "Remove Anim Track" msgstr "Supprimer la piste d’animation" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Créer une NOUVELLE piste pour %s et insérer une clé ?" @@ -440,11 +443,29 @@ msgstr "Créer" msgid "Anim Insert" msgstr "Insérer une animation" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Mode d'aimantation (%s)" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animation" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "Un AnimationPlayer ne peut s’animer lui-même, seulement les autres lecteurs." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Il n'y a pas de propriété « %s »." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Créer et insérer une animation" @@ -660,9 +681,8 @@ msgid "Go to Previous Step" msgstr "Aller à l'étape précédente" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Réinitialiser" +msgstr "Appliquer la réinitialisation" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -681,9 +701,8 @@ msgid "Use Bezier Curves" msgstr "Utiliser les courbes de Bézier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Coller pistes" +msgstr "Créer des pistes RESET" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -1008,7 +1027,6 @@ msgid "Edit..." msgstr "Édition..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Aller à la méthode" @@ -1028,9 +1046,9 @@ msgstr "Créer un nouveau %s" msgid "No results for \"%s\"." msgstr "Aucun résultats pour \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Pas de description disponible pour %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1130,18 +1148,16 @@ msgid "Owners Of:" msgstr "Propriétaires de :" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Supprimer les fichiers sélectionnés du projet ? (annulation impossible)\n" -"Vous pouvez retrouver les fichiers supprimés dans la corbeille du système " -"pour les restaurer." +"Supprimer les fichiers sélectionnés du projet ? (Annulation impossible.)\n" +"En fonction de la configuration de votre système, les fichiers seront soient " +"déplacés vers la corbeille du système, soit supprimés définitivement." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1151,9 +1167,9 @@ msgid "" msgstr "" "Les fichiers qui vont être supprimés sont utilisés par d'autres ressources " "pour leur fonctionnement.\n" -"Les supprimer tout de même ? (annulation impossible)\n" -"Vous pouvez retrouver les fichiers supprimés dans la corbeille du système " -"pour les restaurer." +"Les supprimer tout de même ? (Annulation impossible.)\n" +"En fonction de la configuration de votre système, les fichiers seront soient " +"déplacés vers la corbeille du système, soit supprimés définitivement." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1323,42 +1339,41 @@ msgid "Licenses" msgstr "Licences" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." msgstr "" -"Erreur lors de l'ouverture du fichier package (il n'est pas au format ZIP)." +"Erreur lors de l'ouverture du fichier d'asset « %s » (il n'est pas au format " +"ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s (existe déjà)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" msgstr "" +"Contenus de l'asset « %s » - %d fichier(s) sont en conflit avec votre " +"projet :" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Contenus de l'asset « %s » - Pas de fichiers en conflit avec votre projet :" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Décompression des assets" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "L'extraction des fichiers suivants depuis le paquetage a échoué :" +msgstr "L'extraction des fichiers suivants depuis l'asset « %s » a échoué :" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Et %s fichiers supplémentaires." +msgstr "(et %s fichiers supplémentaires)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Paquetage installé avec succès !" +msgstr "Asset « %s » installé avec succès !" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1370,9 +1385,8 @@ msgid "Install" msgstr "Installer" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Installeur de paquetage" +msgstr "Installateur d'asset" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1435,7 +1449,6 @@ msgid "Bypass" msgstr "Contourner" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Options de bus" @@ -1605,28 +1618,29 @@ msgid "Can't add autoload:" msgstr "Impossible d'ajouter le chargement automatique :" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Le fichier n'existe pas." +msgstr "%s est un chemin invalide. Le fichier n'existe pas." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." msgstr "" +"%s est un chemin invalide. Il n'est pas dans le chemin des ressources " +"(res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "Ajouter le chargement automatique" +msgstr "Ajouter chargement automatique" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp msgid "Path:" -msgstr "Chemin :" +msgstr "Chemin :" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "Nom de nœud :" +msgstr "Nom de nœud :" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_plugin_settings.cpp editor/editor_profiler.cpp @@ -1635,9 +1649,8 @@ msgid "Name" msgstr "Nom" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Renommer la variable" +msgstr "Variable globale" #: editor/editor_data.cpp msgid "Paste Params" @@ -1811,48 +1824,55 @@ msgstr "Dock d'importation" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permet de visualiser et modifier des scènes 3D." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." msgstr "" +"Permet de modifier des scripts à l'aide de l'éditeur de script intégré." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Fournit un accès à l'Asset Library." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Permet de visualiser la hiérarchie des nœuds dans le dock Scène." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Permet de travailler avec les signaux et groupes d'un nœud sélectionné dans " +"le dock Scène." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Permet de naviguer le système de fichiers local à l'aide d'un dock dédié." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Permet de configurer les paramètres d'importation pour des ressources " +"individuelles. Nécessite le dock Système de fichiers pour fonctionner." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Actuel)" +msgstr "(actuel)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(aucun)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." msgstr "" +"Supprimer le profil actuellement sélectionné « %s » ? Cette suppression ne " +"peut être annulée." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1884,19 +1904,16 @@ msgid "Enable Contextual Editor" msgstr "Ouvrir l'éditeur contextuel" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Propriétés :" +msgstr "Propriétés de la classe :" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Fonctionnalités" +msgstr "Fonctionnalités principales :" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Classes activées :" +msgstr "Nœuds et classes :" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1915,23 +1932,20 @@ msgid "Error saving profile to path: '%s'." msgstr "Erreur lors de l'enregistrement du profil au chemin : « %s »." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" -msgstr "Réinitialiser" +msgstr "Réinitialiser aux valeurs par défaut" #: editor/editor_feature_profile.cpp msgid "Current Profile:" msgstr "Profil actuel :" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Effacer le profil" +msgstr "Créer un profil" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Supprimer la tuile" +msgstr "Supprimer le profil" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1951,18 +1965,18 @@ msgid "Export" msgstr "Exporter" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Profil actuel :" +msgstr "Configurer le profil sélectionné :" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Options de classe :" +msgstr "Options additionnelles :" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Créer ou importer un profil pour modifier les classes et propriétés " +"disponibles." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1989,9 +2003,8 @@ msgid "Select Current Folder" msgstr "Sélectionner le dossier courant" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "Le fichier existe, l'écraser ?" +msgstr "Le fichier existe, l'écraser ?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2384,6 +2397,17 @@ msgid "New Window" msgstr "Nouvelle Fenêtre" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Tourne lorsque la fenêtre de l'éditeur est redessinée." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Les ressources importées ne peuvent pas être sauvegardées." @@ -2620,13 +2644,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"La scène actuelle n'a pas de nœud racine, mais %d ressources externes " +"modifiées ont tout de même été enregistrées." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Un nœud racine est nécessaire pour sauvegarder la scène." +msgstr "" +"Un nœud racine est nécessaire pour enregistrer la scène. Vous pouvez ajouter " +"un nœud racine en utilisant le dock Scène." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3018,9 +3045,8 @@ msgid "Orphan Resource Explorer..." msgstr "Explorateur de ressources orphelines..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Renommer le projet" +msgstr "Recharger le projet actuel" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3183,13 +3209,12 @@ msgid "Help" msgstr "Aide" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Ouvrir la documentation" +msgstr "Documentation en ligne" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Questions et réponses" #: editor/editor_node.cpp msgid "Report a Bug" @@ -3197,7 +3222,7 @@ msgstr "Signaler un bug" #: editor/editor_node.cpp msgid "Suggest a Feature" -msgstr "" +msgstr "Suggérer une fonctionnalité" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3208,9 +3233,8 @@ msgid "Community" msgstr "Communauté" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "À propos" +msgstr "À propos de Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3262,10 +3286,6 @@ msgid "Save & Restart" msgstr "Enregistrer et redémarrer" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Tourne lorsque la fenêtre de l'éditeur est redessinée." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Mettre à jour en continu" @@ -3308,14 +3328,12 @@ msgid "Manage Templates" msgstr "Gérer les modèles" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" -msgstr "Installer depuis fichier" +msgstr "Installer depuis un fichier" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Sélectionnez un maillage source :" +msgstr "Sélectionner un fichier de sources Android" #: editor/editor_node.cpp msgid "" @@ -3398,9 +3416,8 @@ msgid "Select" msgstr "Sélectionner" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Sélectionner le dossier courant" +msgstr "Sélectionner le dossier actuel" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3435,9 +3452,8 @@ msgid "No sub-resources found." msgstr "Aucune sous-ressource n'a été trouvée." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Aucune sous-ressource n'a été trouvée." +msgstr "Ouvrir une liste de sous-ressources." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3464,14 +3480,12 @@ msgid "Update" msgstr "Mettre à jour" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Version :" +msgstr "Version" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Auteurs" +msgstr "Auteur" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3481,25 +3495,23 @@ msgstr "État" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "Mesure :" +msgstr "Mesurer :" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Temps par trame (seconde)" +msgstr "Temps par image (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Temps moyen (seconde)" +msgstr "Temps moyen (ms)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "Trame %" +msgstr "Image %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "Trame physique %" +msgstr "Image physique %" #: editor/editor_profiler.cpp msgid "Inclusive" @@ -3518,10 +3530,17 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Inclusif : Inclut le temps passé dans les fonctions appelées par cette " +"fonction.\n" +"Utilisez ce mode pour repérer les goulots d'étranglement.\n" +"\n" +"Self : N'inclure que le temps passé dans la fonction elle-même, et non le " +"temps passé dans d'autres fonctions appelées par cette fonction.\n" +"Utilisez ce mode pour trouver des fonctions individuelles à optimiser." #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "Trame # :" +msgstr "Image # :" #: editor/editor_profiler.cpp msgid "Time" @@ -3640,9 +3659,8 @@ msgid "Paste" msgstr "Coller" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" -msgstr "Convertir en %s" +msgstr "Convertir vers %s" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New %s" @@ -3690,11 +3708,10 @@ msgid "Did you forget the '_run' method?" msgstr "Avez-vous oublié la méthode « _run » ?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Maintenir Ctrl pour arrondir à l'entier. Maintenir Maj pour des changements " -"plus précis." +"Maintenir %s pour arrondir à l'entier près. Maintenir Maj. pour des " +"changements plus précis." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3714,49 +3731,43 @@ msgstr "Importer à partir d'un nœud :" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Ouvrir le dossier contenant ces modèles." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Désinstaller ces modèles." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "'%s' n'existe pas." +msgstr "Il n'y a pas de miroirs disponibles." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Récupération des miroirs, veuillez patienter..." +msgstr "Récupération des miroirs…" #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Démarrage du téléchargement…" #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Erreur lors de la demande de l’URL :" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Connexion au Miroir..." +msgstr "Connexion au miroir…" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "Impossible de résoudre le nom de l'hôte :" +msgstr "Impossible de résoudre l'adresse demandée." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Connexion à l'hôte impossible :" +msgstr "Impossible de se connecter au miroir." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Pas de réponse de l'hôte :" +msgstr "Pas de réponse du miroir." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3764,22 +3775,20 @@ msgid "Request failed." msgstr "La requête a échoué." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "La requête a échoué, trop de redirections" +msgstr "La requête a échoué car il y a eu trop de redirections." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "La requête a échoué." +msgstr "La requête a échoué :" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Téléchargement terminé, extraction des modèles…" #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" -msgstr "Impossible de supprimer le fichier temporaire :" +msgstr "Impossible de supprimer le fichier temporaire :" #: editor/export_template_manager.cpp msgid "" @@ -3787,14 +3796,13 @@ msgid "" "The problematic templates archives can be found at '%s'." msgstr "" "L'installation des modèles a échoué.\n" -"Les archives des modèles problématiques se trouvent dans '%s'." +"Les archives des modèles problématiques se trouvent dans « %s »." #: editor/export_template_manager.cpp msgid "Error getting the list of mirrors." msgstr "Erreur lors du téléchargement de la liste des miroirs." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" "Erreur lors de la lecture de la liste JSON des miroirs. Merci de signaler ce " @@ -3802,7 +3810,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Meilleur miroir disponible" #: editor/export_template_manager.cpp msgid "" @@ -3855,25 +3863,20 @@ msgid "SSL Handshake Error" msgstr "Erreurs de la négociation SSL" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "" -"Impossible d'ouvrir le fichier ZIP contenant les modèles d'exportation." +msgstr "Impossible d'ouvrir le fichier contenant les modèles d'exportation." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "Format de version.txt invalide dans les modèles : %s." +msgstr "Format de version.txt invalide dans le fichier de modèles : %s." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "Aucun version.txt n'a été trouvé dans les modèles." +msgstr "Aucun fichier version.txt n'a été trouvé dans le fichier des modèles." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" -msgstr "Erreur lors de la création du chemin pour les modèles :" +msgstr "Erreur lors de la création du chemin pour l'extraction des modèles :" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -3884,9 +3887,8 @@ msgid "Importing:" msgstr "Importation :" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "Supprimer la version « %s » du modèle ?" +msgstr "Supprimer les modèles pour la version « %s » ?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3903,43 +3905,56 @@ msgstr "Version courante :" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"Les modèles d'exportation sont manquants. Téléchargez-les ou installez-les " +"depuis un fichier." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "Les modèles d'exportation sont installés et prêts à être utilisés." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Ouvrir le fichier" +msgstr "Ouvrir le dossier" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." msgstr "" +"Ouvrir le dossier contenant les modèles d'exportation pour la version " +"actuelle." #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "Désinstaller" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "Valeur initiale pour le compteur" +msgstr "Désinstaller les modèles d'exportation pour la version actuelle." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Erreur de téléchargement" +msgstr "Télécharger depuis :" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Exécuter dans le navigateur" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copier l'erreur" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Télécharger et installer" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Télécharger et installer les modèles d'exportation pour la version actuelle " +"depuis le meilleur miroir disponible." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." @@ -3948,14 +3963,12 @@ msgstr "" "versions de développement." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" -msgstr "Installer depuis fichier" +msgstr "Installer depuis un fichier" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Importer des modèles depuis un fichier ZIP" +msgstr "Installer des modèles d'exportation depuis un fichier local." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3963,24 +3976,20 @@ msgid "Cancel" msgstr "Annuler" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "" -"Impossible d'ouvrir le fichier ZIP contenant les modèles d'exportation." +msgstr "Annuler le téléchargement des modèles d'exportation." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Versions installées :" +msgstr "Autres versions installées :" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Désinstaller" +msgstr "Désinstaller le modèle" #: editor/export_template_manager.cpp msgid "Select Template File" -msgstr "Sélectionner le fichier de modèle" +msgstr "Sélectionner le fichier de modèles" #: editor/export_template_manager.cpp msgid "Godot Export Templates" @@ -3991,6 +4000,10 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Les modèles d'exportation vont continuer à être téléchargés en arrière-" +"plan.\n" +"Vous pourrez peut-être remarquer un court gel de l'éditeur lorsque le " +"téléchargement est terminé." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4138,35 +4151,32 @@ msgid "Collapse All" msgstr "Réduire tout" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Rechercher des fichiers" +msgstr "Trier les fichiers" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Trier par nom (ascendant)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Trier par nom (descendant)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Trier par type (ascendant)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Trier par type (descendant)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Dernière modification" +msgstr "Trier par date de modification (plus récent au moins récent)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Dernière modification" +msgstr "Trier par date de modification (moins récent au plus récent)" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4178,7 +4188,7 @@ msgstr "Renommer..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Mettre la boîte de recherche en surbrillance" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4488,14 +4498,12 @@ msgid "Failed to load resource." msgstr "Impossible de charger la ressource." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Propriétés" +msgstr "Copier les propriétés" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Propriétés" +msgstr "Coller les propriétés" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4520,23 +4528,20 @@ msgid "Save As..." msgstr "Enregistrer sous…" #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "Pas dans le chemin de la ressource." +msgstr "Options de ressource additionnelles." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Modifier le Presse-papiers de la ressource" +msgstr "Modifier la ressource depuis le presse-papiers" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Copier la ressource" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Rendre intégré" +msgstr "Rendre la ressource intégrée" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4551,9 +4556,8 @@ msgid "History of recently edited objects." msgstr "Historique des objets récemment édités." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Ouvrir la documentation" +msgstr "Ouvrir la documentation pour cet objet." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4564,9 +4568,8 @@ msgid "Filter properties" msgstr "Filtrer les propriétés" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Propriétés de l'objet." +msgstr "Gérer les propriétés de l'objet." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4814,9 +4817,8 @@ msgid "Blend:" msgstr "Mélange :" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Paramètre modifié" +msgstr "Paramètre modifié :" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5550,11 +5552,11 @@ msgstr "All" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Rechercher modèles, projets et démos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Rechercher des assets (à l'exception des modèles, projets et démos)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5598,7 +5600,7 @@ msgstr "Fichier ZIP de données" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Aperçu audio lecture/pause" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5859,13 +5861,12 @@ msgstr "Modifier les ancres" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"Remplacement de la Caméra du Jeu\n" -"Remplace la caméra du jeu par la caméra de la fenêtre d'affichage de " +"Remplacement de la caméra du projet\n" +"Remplace la caméra du projet par la caméra de la fenêtre d'affichage de " "l'editeur." #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5875,6 +5876,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Remplacement de la caméra du projet\n" +"Pas d'instance du projet en cours d'exécution. Lancez le projet depuis " +"l'éditeur afin d'utiliser cette fonctionnalité." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5942,31 +5946,27 @@ msgstr "Mode sélection" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "Supprimer le nœud sélectionné ou la transition." +msgstr "Glisser : Tourner le nœud sélectionné autour du pivot." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Glisser : déplacer" +msgstr "Alt + Glisser : Déplacer le nœud sélectionné." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "Supprimer le nœud sélectionné ou la transition." +msgstr "V : Définir la position du pivot pour le nœud sélectionné." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"Afficher une liste de tous les objets à la position cliquée\n" -"(identique à Alt+Bouton droit en mode sélection)." +"Alt + Clic droit : Afficher une liste de tous les nœuds à la position " +"cliquée, y compris les nœuds verrouillés." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "Clic droit : Ajouter un nœud à la position cliquée." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6204,14 +6204,12 @@ msgid "Clear Pose" msgstr "Vider la pose" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Ajouter un nœud" +msgstr "Ajouter un nœud ici" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Instancier scène(s)" +msgstr "Instancer une scène ici" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6227,49 +6225,43 @@ msgstr "Vue panoramique" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Zoomer à 3.125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Zoomer à 6.25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Zoomer à 12.5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Dézoomer" +msgstr "Zoomer à 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Dézoomer" +msgstr "Zoomer à 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Dézoomer" +msgstr "Zoomer à 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Dézoomer" +msgstr "Zoomer à 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Dézoomer" +msgstr "Zoomer à 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Dézoomer" +msgstr "Zoomer à 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Zoomer à 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6516,9 +6508,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "Impossible de créer une forme de collision convexe unique." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "Créer une forme convexe unique" +msgstr "Créer une forme convexe simplifiée" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6557,9 +6548,8 @@ msgid "No mesh to debug." msgstr "Aucun maillage à déboguer." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "Le modèle n'a pas d'UV dans cette couche" +msgstr "Le maillage n'a pas d'UV dans la couche %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6628,9 +6618,8 @@ msgstr "" "collisions." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Créer une seule collision convexe sœur" +msgstr "Créer une collision sœur convexe simplifiée" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6638,20 +6627,23 @@ msgid "" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"Créé une forme de collision complexe simplifiée.\n" +"Cela est similaire à une forme de collision, mais peut résulter en une " +"géométrie plus simple mais moins précise." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" msgstr "Créer plusieurs collisions convexes sœurs" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" -"Crée une forme de collision basée sur les polygones.\n" -"Il s'agit d'une performance à mi-chemin entre les deux options ci-dessus." +"Crée une forme de collision basée sur des polygones.\n" +"Il s'agit d'une performance à mi-chemin entre une forme unique de collision " +"convexe et une collision basée sur des polygones." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -7301,24 +7293,20 @@ msgid "ResourcePreloader" msgstr "ResourcePreloader" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Retourner horizontalement" +msgstr "Retourner les Portals" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Compte de Points Générés :" +msgstr "Générer des points Room" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Compte de Points Générés :" +msgstr "Générer des points" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Retourner horizontalement" +msgstr "Retourner le Portal" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7882,20 +7870,17 @@ msgid "None" msgstr "Aucun" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Mode rotation" +msgstr "Rotation" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "Translater :" +msgstr "Translation" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Échelle :" +msgstr "Mode mise à l'échelle" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7918,52 +7903,44 @@ msgid "Animation Key Inserted." msgstr "Clé d'animation insérée." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "Tangage (latéral)" +msgstr "Tangage :" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Azimuth :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Taille : " +msgstr "Taille :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "Objets dessinés" +msgstr "Objets dessinés :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "Modifications de materiau" +msgstr "Changements de matériau :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "Modification de shader" +msgstr "Changements de shader :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "Modifications de surface" +msgstr "Changements de surface :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Appels de graphes" +msgstr "Appels de dessin :" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Vertex" +msgstr "Sommets :" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "FPS : %d (%s ms)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -8120,9 +8097,8 @@ msgid "Freelook Slow Modifier" msgstr "Ralentissement de la vue libre" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Changer la taille d'une caméra" +msgstr "Activer la prévisualisation de la caméra" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8145,9 +8121,8 @@ msgstr "" "performance en jeu." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Convertir en %s" +msgstr "Convertir les salles" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8169,7 +8144,6 @@ msgstr "" "(« rayon x »)." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Aligner les nœuds avec le sol" @@ -8187,7 +8161,7 @@ msgstr "Utiliser l’aimantation" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "Convertit des salles pour l'occlusion culling à l'aide de portails." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8283,9 +8257,8 @@ msgid "View Grid" msgstr "Afficher la grille" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Paramètres de la vue" +msgstr "Afficher le Portal culling" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8599,230 +8572,208 @@ msgid "Step:" msgstr "Pas (s) :" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Recensements :" +msgstr "Séparation :" #: editor/plugins/texture_region_editor_plugin.cpp msgid "TextureRegion" msgstr "RegionDeTexture" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Couleur" +msgstr "Couleurs" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Police" +msgstr "Polices" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Icône" +msgstr "Icônes" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "Style" +msgstr "Styleboxes" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} couleur(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "Aucune sous-ressource n'a été trouvée." +msgstr "Pas de couleurs trouvées." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "Constantes" +msgstr "{num} constante(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Constante de couleur." +msgstr "Pas de constantes trouvées." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} police(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "Aucune sous-ressource n'a été trouvée." +msgstr "Pas de polices trouvées." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} icône(s)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "Aucune sous-ressource n'a été trouvée." +msgstr "Pas d'icônes trouvées." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} stylebox(es)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "Aucune sous-ressource n'a été trouvée." +msgstr "Pas de styleboxes trouvées." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} actuellement sélectionné(s)" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "Rien n'a été sélectionné pour l'importation." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "Importer un thème" +msgstr "Importation des items de thème" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Importation de l'item {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Quitter l'éditeur ?" +msgstr "Mise à jour de l'éditeur" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "Analyse" +msgstr "Finalisation" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Filtres :" +msgstr "Filtre :" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "Avec données" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Sélectionner un nœud" +msgstr "Sélectionner par type de données :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Sélectionnez un fractionnement à effacer." +msgstr "Sélectionner tous les items de couleur visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." msgstr "" +"Sélectionner tous les items de couleur visibles ainsi que leurs données." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Désélectionner tous les items de couleur visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "Sélectionnez d'abord un élément à configurer !" +msgstr "Sélectionner tous les items de constantes visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." msgstr "" +"Sélectionner tous les items de constantes visibles ainsi que leurs données." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "Désélectionner tous les items de constantes visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "Sélectionnez d'abord un élément à configurer !" +msgstr "Sélectionner tous les items de police visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." msgstr "" +"Sélectionner tous les items de police visibles ainsi que leurs données." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "Désélectionner tous les items de police visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "Sélectionnez d'abord un élément à configurer !" +msgstr "Sélectionner tous les items d'icône visibles." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "Sélectionnez d'abord un élément à configurer !" +msgstr "Sélectionner tous les items d'icône visibles ainsi que leurs données." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "Sélectionnez d'abord un élément à configurer !" +msgstr "Désélectionner tous les items d'icône visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "Sélectionner tous les items de stylebox visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." msgstr "" +"Sélectionner tous les items de stylebox visibles ainsi que leurs données." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "Désélectionner tous les items de stylebox visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Attention : Ajouter des données d'icônes peut augmenter considérablement la " +"taille de votre ressource Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Réduire tout" +msgstr "Réduire les types." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Développer tout" +msgstr "Développer les types." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Sélectionner le fichier de modèle" +msgstr "Sélectionner tous les items du Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "Sélectionner des points" +msgstr "Sélectionner avec les données" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Sélectionne tous les items de thème avec les données d'item." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "Tout sélectionner" +msgstr "Tout déselectionner" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "Déselectionne tous les items du Theme." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Importer une scène" +msgstr "Importer la sélection" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8830,275 +8781,253 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"L'onglet Importer des items a des items sélectionnés. La sélection sera " +"perdue si vous fermez cette fenêtre.\n" +"Fermer tout de même ?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items de couleur" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Supprimer l'item" +msgstr "Renommer l'item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items de constante" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items de police" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items d'icône" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items de stylebox" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "Ajouter des items de classe" +msgstr "Ajouter un item de couleur" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "Ajouter des items de classe" +msgstr "Ajouter un item de constante" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "Ajouter un item" +msgstr "Ajouter un item de police" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "Ajouter un item" +msgstr "Ajouter un item d'icône" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "Ajouter tous les items" +msgstr "Ajouter un item de stylebox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "Supprimer des items de classe" +msgstr "Renommer l'item de couleur" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "Supprimer des items de classe" +msgstr "Renommer l'item de constante" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "Renommer le nœud" +msgstr "Renommer l'item de police" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "Renommer le nœud" +msgstr "Renommer l'item d'icône" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "Supprimer l'élément sélectionné" +msgstr "Renommer l'item de stylebox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "Fichier invalide, pas une disposition de bus audio." +msgstr "Fichier invalide, car ce n'est pas une ressource de type Theme." #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." msgstr "" +"Fichier invalide, car il est identique à la ressource Theme actuellement en " +"cours de modification." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "Gérer les modèles" +msgstr "Gérer les items de thème" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "Élément modifiable" +msgstr "Modifier les items" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Type :" +msgstr "Types :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Type :" +msgstr "Ajouter un type :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "Ajouter un item" +msgstr "Ajouter un item :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "Ajouter tous les items" +msgstr "Ajouter un item de stylebox" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "Supprimer l'item" +msgstr "Supprimer items :" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Supprimer des items de classe" +msgstr "Supprimer les items de classe" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "Supprimer des items de classe" +msgstr "Supprimer les items personnalisés" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "Supprimer tous" +msgstr "Supprimer tous les items" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "Ajouter un item" +msgstr "Ajouter un item de thème" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Nom de nœud :" +msgstr "Ancien nom :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "Importer un thème" +msgstr "Importer des items" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "Par défaut" +msgstr "Thème par défaut" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Modifier le thème" +msgstr "Thème de l'éditeur" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Supprimer une ressource" +msgstr "Sélectionnez une autre ressource Theme :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "Importer un thème" +msgstr "Autre thème" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "Configurer la grille" +msgstr "Confirmer le renommage d'item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "Renommer par lot" +msgstr "Annuler le renommage d'item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Redéfinition" +msgstr "Remplacer l'item" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +msgstr "Désépingler cette StyleBox comme style principal." #: 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 "" +"Épingler cette StyleBox comme style principal. Modifier ses propriétés " +"mettra à jour les mêmes propriétés dans toutes les autres StyleBoxes " +"appartenant à ce type." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type" -msgstr "Type" +msgstr "Ajouter un type" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "Ajouter un item" +msgstr "Ajouter un item de type" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "Type de nœud" +msgstr "Types de nœud :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Charger défaut" +msgstr "Afficher par défaut" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." msgstr "" +"Afficher les items de type par défaut à côté de ceux qui ont été surchargés." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override All" -msgstr "Redéfinition" +msgstr "Tout surcharger" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "Surcharge tous les items de type par défaut." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Thème" +msgstr "Thème :" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "Gérer les modèles d'exportation..." +msgstr "Gérer les items…" #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "Ajoute, supprime, organise et importe des items de thème." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Aperçu" +msgstr "Ajouter un aperçu" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Aperçu de la mise à jour" +msgstr "Aperçu par défaut" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "Sélectionnez un maillage source :" +msgstr "Sélectionner une scène UI :" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Active le sélectionneur de contrôle, qui permet de sélectionner visuellement " +"des types de contrôles à modifier." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" -msgstr "Activer / Désactiver bouton" +msgstr "Bouton à bascule (toggle)" #: editor/plugins/theme_editor_preview.cpp msgid "Disabled Button" @@ -9110,7 +9039,7 @@ msgstr "Item" #: editor/plugins/theme_editor_preview.cpp msgid "Disabled Item" -msgstr "Élément Désactivé" +msgstr "Item désactivé" #: editor/plugins/theme_editor_preview.cpp msgid "Check Item" @@ -9129,9 +9058,8 @@ msgid "Checked Radio Item" msgstr "Item radio coché" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Séparateur nommé." +msgstr "Séparateur nommé" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9184,19 +9112,22 @@ msgstr "Possède,Plusieurs,Options" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." msgstr "" +"Chemin invalide. La ressource PackedScene a probablement été déplacée ou " +"supprimée." #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." msgstr "" +"Ressource PackedScene invalide. La scène doit avoir un nœud de type Control " +"à sa racine." #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "Fichier invalide, pas une disposition de bus audio." +msgstr "Fichier invalide, pas une ressource PackedScene." #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "Recharge la scène pour refléter son état le plus actuel." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10605,9 +10536,8 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "Modifier la propriété visuelle" +msgstr "Modifier la propriété visuelle :" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10733,9 +10663,8 @@ msgid "Script" msgstr "Script" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "Mode d'exportation des scripts :" +msgstr "Mode d'exportation GDScript :" #: editor/project_export.cpp msgid "Text" @@ -10743,21 +10672,20 @@ msgstr "Texte" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "Bytecode compilé (chargement plus rapide)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "Chiffré (fournir clé ci-dessous)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "Clé de chiffrement invalide (doit comporter 64 caractères)" +msgstr "" +"Clé de chiffrement invalide (doit comporter 64 caractères hexadécimaux)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Clé de chiffrement des scripts (256 bits en hexadécimal) :" +msgstr "Clé de chiffrement GDScript (256 bits en hexadécimal) :" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10832,7 +10760,6 @@ msgid "Imported Project" msgstr "Projet importé" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Nom du projet invalide." @@ -11061,14 +10988,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "Voulez-vous vraiment lancer %d projets à la fois ?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Sélectionner appareil depuis la liste" +msgstr "Retirer %d projets de la liste ?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Sélectionner appareil depuis la liste" +msgstr "Retirer ce projet de la liste ?" #: editor/project_manager.cpp msgid "" @@ -11102,9 +11027,8 @@ msgid "Project Manager" msgstr "Gestionnaire de projets" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Projets" +msgstr "Projets locaux" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11115,23 +11039,20 @@ msgid "Last Modified" msgstr "Dernière modification" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Exporter le projet" +msgstr "Modifier le projet" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Renommer le projet" +msgstr "Lancer le projet" #: editor/project_manager.cpp msgid "Scan" msgstr "Scanner" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "Projets" +msgstr "Scanner des projets" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -11142,14 +11063,12 @@ msgid "New Project" msgstr "Nouveau projet" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Projet importé" +msgstr "Importer un projet" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "Renommer le projet" +msgstr "Retirer le projet" #: editor/project_manager.cpp msgid "Remove Missing" @@ -11160,9 +11079,8 @@ msgid "About" msgstr "À propos" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "Bibliothèque d'assets" +msgstr "Projets de l'Asset Library" #: editor/project_manager.cpp msgid "Restart Now" @@ -11174,7 +11092,7 @@ msgstr "Supprimer tout" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "Supprimer les contenus du projet également (pas d'annulation !)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11189,12 +11107,10 @@ msgstr "" "Voulez-vous explorer des exemples de projets officiels dans l'Asset Library ?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Filtrer les propriétés" +msgstr "Filtrer parmi les projets" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " @@ -11211,7 +11127,7 @@ msgstr "Touche " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "Touche physique" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -11259,7 +11175,7 @@ msgstr "Périphérique" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (physique)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11402,23 +11318,23 @@ msgid "Override for Feature" msgstr "Écrasement d'un paramètre, dédié à un tag de fonctionnalité" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Ajouter une traduction" +msgstr "Ajouter %d traductions" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "Supprimer la traduction" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Réaffectation (remap) des ressources ; Ajouter une réaffectation" +msgstr "" +"Réaffectation (remap) des ressources par traduction : Ajouter %d chemin(s)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Réaffectation (remap) des ressources ; Ajouter une réaffectation" +msgstr "" +"Réaffectation (remap) des ressources par traduction : Ajouter %d " +"réaffectation(s)" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11450,7 +11366,7 @@ msgstr "Général" #: editor/project_settings_editor.cpp msgid "Override For..." -msgstr "Surcharge pour…" +msgstr "Surcharger pour…" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "The editor must be restarted for changes to take effect." @@ -11862,12 +11778,16 @@ msgstr "Supprimer le noeud \"%s\" ?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Pour sauvegarder la branche en tant que scène, il faut qu'une scène soit " +"ouverte dans l'éditeur." #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." msgstr "" +"Pour sauvegarder la branche en tant que scène, il faut sélectionner " +"seulement un nœud, mais vous avez sélectionné %d nœuds." #: editor/scene_tree_dock.cpp msgid "" @@ -11876,6 +11796,12 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"Impossible de sauvegarder la branche du nœud racine comme une scène " +"instanciée.\n" +"Pour créer une copie modifiable de la scène actuelle, dupliquez-la à l'aide " +"du menu contextuel du dock Système de fichiers\n" +"ou créez une scène héritée en utilisant Scène > Nouvelle scène héritée... à " +"la place." #: editor/scene_tree_dock.cpp msgid "" @@ -11883,6 +11809,10 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"Impossible de sauvegarder la branche d'une scène déjà instanciée.\n" +"Pour créer une variation d'une scène, vous pouvez créer une scène héritée " +"basée sur la scène instanciée en utilisant Scène > Nouvelle scène héritée... " +"à la place." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12291,6 +12221,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Avertissement : Il n'est généralement pas souhaitable que le nom du script " +"soit le même que celui d'un type intégré." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12362,7 +12294,7 @@ msgstr "Copier l'erreur" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "Ouvrir les sources C++ sur GitHub" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12541,6 +12473,16 @@ msgstr "Changer la hauteur de la forme du cylindre" msgid "Change Ray Shape Length" msgstr "Changer la longueur d'une forme en rayon" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Définir la position du point de la courbe" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Définir la position du point de la courbe" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Changer le rayon du cylindre" @@ -12656,12 +12598,11 @@ msgstr "L'objet ne peut fournir une longueur." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp #, fuzzy msgid "Export Mesh GLTF2" -msgstr "Exporter une bibliothèque de maillages" +msgstr "Exporter le Maillage GLTF2" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Exporter..." +msgstr "Exporter en GLTF..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12704,9 +12645,8 @@ msgid "GridMap Paint" msgstr "Peinture GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "Remplissage de la sélection de GridMap" +msgstr "Sélection de la GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12960,14 +12900,12 @@ msgid "Add Output Port" msgstr "Ajouter un port de sortie" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Changer le type" +msgstr "Changer le Type de Port" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Changer le nom du port d'entrée" +msgstr "Changer le Nom du Port" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -13353,38 +13291,33 @@ msgid "Select device from the list" msgstr "Sélectionner appareil depuis la liste" #: platform/android/export/export.cpp +#, fuzzy msgid "Running on %s" -msgstr "" +msgstr "En cours d'exécution sur %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Tout exporter" +msgstr "Exportation de l'APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Désinstaller" +msgstr "Désinstallation..." #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Chargement en cours, veuillez patienter..." +msgstr "Installation sur l'appareil, veuillez patienter..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "Impossible de démarrer le sous-processus !" +msgstr "Impossible d'installer sur l'appareil : %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "Lancement du script personnalisé…" +msgstr "En cours d'exécution sur l'appareil..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "Impossible de créer le dossier." +msgstr "Impossible d'exécuter sur l'appareil." #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13509,46 +13442,49 @@ msgstr "" "est activée." #: platform/android/export/export.cpp +#, fuzzy msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" "The resulting %s is unsigned." msgstr "" +"Impossible de trouver 'apksigner'.\n" +"Veuillez vérifier que la commande est disponible dans le dossier build-tools " +"du SDK Android.\n" +"Le paquet sortant %s est non signé." #: platform/android/export/export.cpp +#, fuzzy msgid "Signing debug %s..." -msgstr "" +msgstr "Signature du debug %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"Analyse des fichiers en cours,\n" -"Veuillez patienter..." +msgstr "Signature de la version %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "Impossible d'ouvrir le modèle pour exportation :" +msgstr "Impossible de trouver le keystore, impossible d'exporter." #: platform/android/export/export.cpp +#, fuzzy msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "'apksigner' a terminé avec l'erreur #%d" #: platform/android/export/export.cpp #, fuzzy msgid "Verifying %s..." -msgstr "Ajout de %s..." +msgstr "Vérification de %s..." #: platform/android/export/export.cpp +#, fuzzy msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "La vérification de %s avec 'apksigner' a échoué." #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "Tout exporter" +msgstr "Exportation vers Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13570,7 +13506,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "Format d'export non supporté !\n" #: platform/android/export/export.cpp msgid "" @@ -13594,20 +13530,20 @@ msgstr "" "Veuillez réinstaller la version d'Android depuis le menu 'Projet'." #: platform/android/export/export.cpp +#, fuzzy msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" msgstr "" +"Impossible d'écraser les fichiers res://android/build/res/*.xml avec le nom " +"du projet" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "" -"Impossible de modifier le fichier project.godot dans le chemin du projet." +msgstr "Impossible d'exporter les fichiers du projet vers le projet gradle\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "Impossible d'écrire le fichier :" +msgstr "Impossible d'écrire le fichier du paquet d'expansion !" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13638,37 +13574,42 @@ msgstr "" #: platform/android/export/export.cpp #, fuzzy msgid "Package not found: %s" -msgstr "Animation introuvable : « %s »" +msgstr "Paquet introuvable : « %s »" #: platform/android/export/export.cpp #, fuzzy msgid "Creating APK..." -msgstr "Création des contours..." +msgstr "Création du fichier APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "Impossible d'ouvrir le modèle pour exportation :" +msgstr "" +"Impossible de trouver le modèle de l'APK à exporter :\n" +"%s" #: platform/android/export/export.cpp +#, fuzzy msgid "" "Missing libraries in the export template for the selected architectures: " "%s.\n" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"Bibliothèques manquantes dans le modèle d'export pour les architectures " +"sélectionnées : %s.\n" +"Veuillez construire un modèle avec toutes les bibliothèques requises, ou " +"désélectionner les architectures manquantes dans le préréglage de l'export." #: platform/android/export/export.cpp #, fuzzy msgid "Adding files..." -msgstr "Ajout de %s..." +msgstr "Ajout de fichiers..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "Impossible d'écrire le fichier :" +msgstr "Impossible d'exporter les fichiers du projet" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13676,7 +13617,7 @@ msgstr "Alignement de l'APK…" #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "Impossible de décompresser l'APK temporaire non aligné." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13723,9 +13664,8 @@ msgid "Could not write file:" msgstr "Impossible d'écrire le fichier :" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "Impossible d'écrire le fichier :" +msgstr "Impossible de lire le fichier :" #: platform/javascript/export/export.cpp #, fuzzy @@ -13733,14 +13673,12 @@ msgid "Could not read HTML shell:" msgstr "Impossible de lire le shell HTML personnalisé :" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "Impossible de créer le dossier." +msgstr "Impossible de créer le répertoire du serveur HTTP :" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Erreur d'enregistrement de la scène." +msgstr "Erreur de démarrage du serveur HTTP :" #: platform/osx/export/export.cpp #, fuzzy @@ -13748,8 +13686,9 @@ msgid "Invalid bundle identifier:" msgstr "Identifiant invalide :" #: platform/osx/export/export.cpp +#, fuzzy msgid "Notarization: code signing required." -msgstr "" +msgstr "Certification : signature du code requise." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." @@ -14206,11 +14145,16 @@ msgstr "" "A la place utilisez une BakedLightMap." #: scene/3d/gi_probe.cpp +#, fuzzy msgid "" "The GIProbe Compress property has been deprecated due to known bugs and no " "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"La propriété GIProbe Compress a été déclarée comme obsolète à cause de bugs " +"connus et n'a plus aucun effet.\n" +"Pour supprimer cette avertissement, désactivez la propriété Compress du " +"GIProbe." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14304,15 +14248,15 @@ msgstr "Node A et Node B doivent être des PhysicsBody différents" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Le RoomManager ne doit pas être enfant ou grand-enfant d'un Portal." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Un Room ne doit pas être enfant ou petit-enfant d'un Portal." #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Un RoomGroup ne doit pas être enfant ou petit-enfant d'un Portal." #: scene/3d/remote_transform.cpp msgid "" @@ -14362,6 +14306,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Ce corps sera ignoré jusqu'à ce que vous définissiez un maillage." @@ -15125,9 +15105,6 @@ msgstr "Les constantes ne peuvent être modifiées." #~ msgid "Local Coords" #~ msgstr "Coordonnées locales" -#~ msgid "Snap Mode (%s)" -#~ msgstr "Mode d'aimantation (%s)" - #~ msgid "Tool Select" #~ msgstr "Outil sélection" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index 98fe774878..872463b1a9 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -337,6 +337,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -361,10 +362,26 @@ msgstr "Cruthaigh" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "CrannBeochan" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -920,7 +937,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2214,6 +2231,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2994,10 +3022,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3602,6 +3626,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8288,6 +8320,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8313,6 +8351,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11730,6 +11774,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13330,6 +13382,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/gl.po b/editor/translations/gl.po index 9b97e45e8a..054b62690d 100644 --- a/editor/translations/gl.po +++ b/editor/translations/gl.po @@ -6,18 +6,19 @@ # Andy Barcia <andybarcia4@gmail.com>, 2021. # PokeGalaico <abloodyfreaks@gmail.com>, 2021. # Kkai <kaieltroll@gmail.com>, 2021. +# davidrogel <david.rogel.pernas@icloud.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2021-04-26 22:32+0000\n" -"Last-Translator: Kkai <kaieltroll@gmail.com>\n" +"PO-Revision-Date: 2021-08-12 14:48+0000\n" +"Last-Translator: davidrogel <david.rogel.pernas@icloud.com>\n" "Language-Team: Galician <https://hosted.weblate.org/projects/godot-engine/" "godot/gl/>\n" "Language: gl\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.7-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -339,6 +340,7 @@ msgstr "Cambiar Modo de Bucle da Animación" msgid "Remove Anim Track" msgstr "Eliminar Pista de Animación" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Crear nova pista para %s e engadir chave?" @@ -363,10 +365,27 @@ msgstr "Crear" msgid "Anim Insert" msgstr "Engadir Animación" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animación" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Un AnimationPlayer non pode animarse a si mesmo, só a outros players." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Non existe a propiedade '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Crear e Engadir Animación" @@ -943,9 +962,9 @@ msgstr "Crear Novo %s" msgid "No results for \"%s\"." msgstr "Non houbo resultado para \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Non hai descrición dispoñible para %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1140,7 +1159,7 @@ msgstr "Moitas grazas de parte da comunidade de Godot!" #: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp msgid "Click to copy." -msgstr "" +msgstr "Clic para copiar." #: editor/editor_about.cpp msgid "Godot Engine contributors" @@ -1724,7 +1743,7 @@ msgstr "Importación" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permite ver e editar escenas 3D." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." @@ -2293,6 +2312,17 @@ msgid "New Window" msgstr "Nova Xanela" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Xira cando o editor actualiza a pantalla." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Os recursos importados non se poden gardar." @@ -3161,10 +3191,6 @@ msgid "Save & Restart" msgstr "Gardar e Reinicar" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Xira cando o editor actualiza a pantalla." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Actualizar de Maneira Continua" @@ -3797,6 +3823,15 @@ msgid "Download from:" msgstr "Erro na Descarga" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Abrir no Explorador de Arquivos" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8606,6 +8641,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Eliminar Tódolos Marcapáxinas" @@ -8636,6 +8677,12 @@ msgid "Remove All StyleBox Items" msgstr "Eliminar Tódolos Marcapáxinas" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Engadir Elemento" @@ -12185,6 +12232,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13860,6 +13915,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Este corpo será ignorado ata que se lle sea asignado unha malla." diff --git a/editor/translations/he.po b/editor/translations/he.po index bbe0ebbe08..d0a09565de 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -355,6 +355,7 @@ msgstr "שינוי מצב לולאת הנפשה" msgid "Remove Anim Track" msgstr "מחיקת רצועת הנפשה" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "האם ליצור רצועה חדשה ל%s ולהכניס מפתח?" @@ -379,10 +380,28 @@ msgstr "יצירה" msgid "Anim Insert" msgstr "הוסף הנפשה" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "מצב הצמדה (%s)" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "הנפשה" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "נגן ההנפשות לא יכול להנפיש את עצמו, רק שחקנים אחרים." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "לא קיים מאפיין ‚%s’." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "יצירה והוספה של הנפשה" @@ -960,7 +979,7 @@ msgstr "יצירת %s חדש" msgid "No results for \"%s\"." msgstr "אין תוצאות עבור \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2309,6 +2328,17 @@ msgid "New Window" msgstr "חלון חדש" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "מסתובב כאשר חלון העורך מצויר מחדש." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "משאבים מיובאים לא נשמרו." @@ -3143,10 +3173,6 @@ msgid "Save & Restart" msgstr "שמירה והפעלה מחדש" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "מסתובב כאשר חלון העורך מצויר מחדש." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "עדכון רציף" @@ -3789,6 +3815,16 @@ msgid "Download from:" msgstr "שגיאת הורדה" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "הפעלה בדפדפן" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "שגיאת העתקה" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8747,6 +8783,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "הסרת כל נקודות העצירה" @@ -8777,6 +8819,12 @@ msgid "Remove All StyleBox Items" msgstr "הסרת כל נקודות העצירה" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "מועדפים:" @@ -12388,6 +12436,14 @@ msgstr "שינוי גובה לצורת גליל" msgid "Change Ray Shape Length" msgstr "שינוי אורך לצורת קרן" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "שינוי רדיוס גליל" @@ -14113,6 +14169,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "תהיה התעלמות מגוף זה עד שתקבע רשת." @@ -14643,9 +14735,6 @@ msgstr "אי אפשר לשנות קבועים." #~ msgid "Local Coords" #~ msgstr "נקודות ציון מקומיות" -#~ msgid "Snap Mode (%s)" -#~ msgstr "מצב הצמדה (%s)" - #~ msgid "Project List" #~ msgstr "רשימת המיזמים" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index a4e7d4ae72..916e6fd01d 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -348,6 +348,7 @@ msgstr "एनिमेशन लूप मोड बदलें" msgid "Remove Anim Track" msgstr "अनीम ट्रैक निकालें" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "% एस के लिए नया ट्रैक बनाएं और कुंजी डालें?" @@ -372,10 +373,27 @@ msgstr "बनाना" msgid "Anim Insert" msgstr "अनीम डालें" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "कार्यों:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "एनिमेशनप्लेयर खुद को चेतन नहीं कर सकता, केवल अन्य खिलाड़ी।" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "प्रोपर्टी" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "अनीम बनाएं और डालें" @@ -947,7 +965,7 @@ msgstr "नया%s बनाएं" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2289,6 +2307,17 @@ msgid "New Window" msgstr "नया विंडो" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "जब संपादक खिड़की फिर से खींचता है तो स्पिन करता है।" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "इंपोर्टेड रेसोर्सेस सेव नहीं कर सकते." @@ -3130,10 +3159,6 @@ msgid "Save & Restart" msgstr "सहेजें और पुनः आरंभ करें" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "जब संपादक खिड़की फिर से खींचता है तो स्पिन करता है।" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "लगातार अपडेट करें" @@ -3785,6 +3810,15 @@ msgid "Download from:" msgstr "डाउनलोड" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "फ़ाइल मैनेजर में खोलिये" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8561,6 +8595,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "आइटम निकालें" @@ -8591,6 +8631,12 @@ msgid "Remove All StyleBox Items" msgstr "आइटम निकालें" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "पसंदीदा में जोड़ें" @@ -12124,6 +12170,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13771,6 +13825,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index ea48ef0246..37d517cba0 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -340,6 +340,7 @@ msgstr "Promijeni Način Ponavljanja Animacije" msgid "Remove Anim Track" msgstr "Ukloni Stazu Animacije" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Stvori NOVU stazu za %s i umetni ključ?" @@ -364,10 +365,26 @@ msgstr "Stvori" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacija" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Animator ne može animirati sebe, samo druge animatore." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Stvori & Umetni" @@ -927,7 +944,7 @@ msgstr "Napravi novi %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2240,6 +2257,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3021,10 +3049,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Kontinuirano ažuriraj" @@ -3635,6 +3659,15 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Otvori u Inspektoru" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8337,6 +8370,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8364,6 +8403,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11805,6 +11850,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13413,6 +13466,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 3af983ff18..c822f5bd53 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -351,6 +351,7 @@ msgstr "Animáció Összefűzés Módjának Változtatása" msgid "Remove Anim Track" msgstr "Animáció Sáv Eltávolítása" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Létrehoz ÚJ sávot a következőhöz: %s, és beszúrja a kulcsot?" @@ -375,12 +376,29 @@ msgstr "Létrehozás" msgid "Anim Insert" msgstr "Animáció - Beszúrás" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animáció" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer nem tudja önmagát animálni, csak más AnimationPlayer " "elemeket." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Tulajdonság" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animáció - Létrehozás és Beillesztés" @@ -959,7 +977,7 @@ msgstr "Új %s létrehozása" msgid "No results for \"%s\"." msgstr "Nincs találat a következőre: \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2309,6 +2327,17 @@ msgid "New Window" msgstr "Új ablak" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Pörög, amikor a szerkesztőablak újrarajzolódik." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Az importált erőforrások nem menthetők." @@ -3178,10 +3207,6 @@ msgid "Save & Restart" msgstr "Mentés és újraindítás" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Pörög, amikor a szerkesztőablak újrarajzolódik." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Folyamatos frissítés" @@ -3825,6 +3850,16 @@ msgid "Download from:" msgstr "Letöltési Hiba" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Megnyitás a Fájlkezelőben" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Hiba Másolása" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8609,6 +8644,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Összes könyvjelző eltávolítása" @@ -8639,6 +8680,12 @@ msgid "Remove All StyleBox Items" msgstr "Összes könyvjelző eltávolítása" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Elem Hozzáadása" @@ -12104,6 +12151,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Görbe Pont Pozíció Beállítása" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Görbe Pont Pozíció Beállítása" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13734,6 +13791,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/id.po b/editor/translations/id.po index ccc5865b85..3426bd0962 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -368,6 +368,7 @@ msgstr "Ubah Mode Perulangan Animasi" msgid "Remove Anim Track" msgstr "Hapus Trek Anim" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Buat track BARU untuk %s dan masukkan tombol?" @@ -392,11 +393,29 @@ msgstr "Buat" msgid "Anim Insert" msgstr "Sisipkan Anim" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Tidak dapat membuka '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animasi" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer tidak bisa menganimasikan diri sendiri, gunakan pemutar lain." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Tidak ada properti '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Buat & Sisipkan Anim" @@ -972,7 +991,7 @@ msgstr "Buat %s baru" msgid "No results for \"%s\"." msgstr "Tidak ada hasil untuk \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2322,6 +2341,17 @@ msgid "New Window" msgstr "Jendela Baru" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Putar ketika jendela editor digambar ulang." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Resource yang diimpor tidak dapat disimpan." @@ -3180,10 +3210,6 @@ msgid "Save & Restart" msgstr "Simpan & Mulai Ulang" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Putar ketika jendela editor digambar ulang." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Perbarui Terus-menerus" @@ -3845,6 +3871,16 @@ msgid "Download from:" msgstr "Unduhan Gagal" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Jalankan di Peramban" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Salin Galat" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8712,6 +8748,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Hapus Semua Item" @@ -8742,6 +8784,12 @@ msgid "Remove All StyleBox Items" msgstr "Hapus Semua Item" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Tambah Item Kelas" @@ -12412,6 +12460,16 @@ msgstr "Ubah Tinggi Bentuk Silinder" msgid "Change Ray Shape Length" msgstr "Ubah Panjang Shape Ray" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Atur Posisi Titik Kurva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Atur Posisi Titik Kurva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Ubah Radius Silinder" @@ -14186,6 +14244,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Body ini akan diabaikan hingga Anda mengatur mesh-nya." @@ -15242,9 +15336,6 @@ msgstr "Konstanta tidak dapat dimodifikasi." #~ msgid "I see..." #~ msgstr "Mengerti..." -#~ msgid "Can't open '%s'." -#~ msgstr "Tidak dapat membuka '%s'." - #~ msgid "Ugh" #~ msgstr "Duh" diff --git a/editor/translations/is.po b/editor/translations/is.po index 916be97fb4..e536b0a8f6 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -360,6 +360,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "Fjarlægja Anim track" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -384,10 +385,26 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Stillið breyting á:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -954,7 +971,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2253,6 +2270,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3036,10 +3064,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Samfellt" @@ -3648,6 +3672,15 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Opna Verkefna Stjóra?" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8376,6 +8409,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8403,6 +8442,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11873,6 +11918,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13487,6 +13540,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index cec4cf1beb..c3aa84d4b6 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -37,7 +37,7 @@ # Stefano Merazzi <asso99@hotmail.com>, 2019. # Sinapse X <sinapsex13@gmail.com>, 2019. # Micila Micillotto <micillotto@gmail.com>, 2019, 2020, 2021. -# Mirko Soppelsa <miknsop@gmail.com>, 2019, 2020. +# Mirko Soppelsa <miknsop@gmail.com>, 2019, 2020, 2021. # No <kingofwizards.kw7@gmail.com>, 2019. # StarFang208 <polaritymanx@yahoo.it>, 2019. # Katia Piazza <gydey@ridiculousglitch.com>, 2019. @@ -64,8 +64,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-26 14:18+0000\n" -"Last-Translator: Riteo Siuga <riteo@posteo.net>\n" +"PO-Revision-Date: 2021-08-10 21:39+0000\n" +"Last-Translator: Mirko <miknsop@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -73,7 +73,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -394,6 +394,7 @@ msgstr "Cambia la modalità del ciclo di un'animazione" msgid "Remove Anim Track" msgstr "Rimuovi una traccia d'animazione" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Creare una NUOVA traccia per %s e inserire la chiave?" @@ -418,10 +419,28 @@ msgstr "Crea" msgid "Anim Insert" msgstr "Inserisci un'animazione" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Impossibile aprire '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animazione" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer non può animare se stesso, solo altri nodi." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Non esiste nessuna proprietà \"%s\"." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Crea un'animazione e inserisci un fotogramma chiave" @@ -1005,7 +1024,7 @@ msgstr "Crea un nuovo %s" msgid "No results for \"%s\"." msgstr "Nessun risultato per \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2372,6 +2391,17 @@ msgid "New Window" msgstr "Nuova Finestra" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Gira quando la finestra dell'editor viene ridisegnata." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Le risorse importate non possono essere salvate." @@ -3248,10 +3278,6 @@ msgid "Save & Restart" msgstr "Salva e riavvia" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Gira quando la finestra dell'editor viene ridisegnata." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Aggiorna continuamente" @@ -3499,7 +3525,6 @@ msgid "Inclusive" msgstr "Inclusivo" #: editor/editor_profiler.cpp -#, fuzzy msgid "Self" msgstr "Se stesso" @@ -3930,6 +3955,16 @@ msgid "Download from:" msgstr "Errore durante il download" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Esegui nel Browser" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copia Errore" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -7908,9 +7943,8 @@ msgid "Translate" msgstr "Trasla:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Scala:" +msgstr "Scala" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -8855,6 +8889,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Rimuovi tutti gli elementi" @@ -8885,6 +8925,12 @@ msgid "Remove All StyleBox Items" msgstr "Rimuovi tutti gli elementi" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Aggiungi Elementi di Classe" @@ -12574,6 +12620,16 @@ msgstr "Modifica Altezza di Forma del Cilindro" msgid "Change Ray Shape Length" msgstr "Cambia lunghezza Ray Shape" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Imposta Posizione Punto Curva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Imposta Posizione Punto Curva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Modifica Raggio del Cilindro" @@ -13569,7 +13625,7 @@ msgstr "" #: platform/android/export/export.cpp #, fuzzy msgid "Exporting for Android" -msgstr "Esportando Tutto" +msgstr "Esportazione per Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -14377,6 +14433,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Questo corpo verrà ignorato fino a quando non imposterai una mesh." @@ -15641,9 +15733,6 @@ msgstr "Le constanti non possono essere modificate." #~ msgid "I see..." #~ msgstr "Capisco..." -#~ msgid "Can't open '%s'." -#~ msgstr "Impossibile aprire '%s'." - #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 83e544e5b5..3ee6d0b49d 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -15,7 +15,7 @@ # Tohru Ike (rokujyouhitoma) <rokujyouhitomajp@gmail.com>, 2017-2018. # yu tang <0011solo@gmail.com>, 2018. # zukkun <zukkun@gmail.com>, 2018. -# sugusan <sugusan.development@gmail.com>, 2018, 2019. +# sugusan <sugusan.development@gmail.com>, 2018, 2019, 2021. # Nathan Lovato <nathan.lovato.art@gmail.com>, 2018. # nyanode <akaruooyagi@yahoo.co.jp>, 2018. # nitenook <admin@alterbaum.net>, 2018, 2019, 2020, 2021. @@ -37,8 +37,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 02:33+0000\n" -"Last-Translator: nitenook <admin@alterbaum.net>\n" +"PO-Revision-Date: 2021-08-12 14:48+0000\n" +"Last-Translator: sugusan <sugusan.development@gmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -46,7 +46,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -367,6 +367,7 @@ msgstr "アニメーションのループモードを変更" msgid "Remove Anim Track" msgstr "アニメーショントラックを除去" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s の新規トラックを作成し、キーを挿入しますか?" @@ -391,12 +392,30 @@ msgstr "作成" msgid "Anim Insert" msgstr "アニメーション挿入" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "'..'を処理できません" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "アニメーション" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "アニメーションプレイヤーは他のプレイヤーだけをアニメーション化することはでき" "ません。" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "プロパティ '%s' は存在しません。" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "アニメーションの作成と挿入" @@ -972,9 +991,9 @@ msgstr "%s を新規作成" msgid "No results for \"%s\"." msgstr "\"%s\" の結果はありません。" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "%s についての説明はありません。" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1166,7 +1185,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" @@ -2325,6 +2344,17 @@ msgid "New Window" msgstr "新規ウィンドウ" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "エディタ ウィンドウの再描画時にスピンします。" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "インポートしたリソースは保存できません。" @@ -3185,10 +3215,6 @@ msgid "Save & Restart" msgstr "保存して再起動" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "エディタ ウィンドウの再描画時にスピンします。" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "継続的に更新" @@ -3634,11 +3660,11 @@ msgstr "ノードからインポート:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "これらのテンプレートがあるフォルダを開きます。" #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "これらのテンプレートをアンインストールします。" #: editor/export_template_manager.cpp #, fuzzy @@ -3652,7 +3678,7 @@ msgstr "ミラーを取得しています。しばらくお待ちください... #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "ダウンロードを開始しています..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" @@ -3695,7 +3721,7 @@ msgstr "リクエストは失敗しました。" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "ダウンロードが完了しました。テンプレートを展開しています..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3820,10 +3846,12 @@ msgstr "現在のバージョン:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"エクスポート テンプレートが見つかりません。ダウンロードするかファイルからイン" +"ストールしてください。" #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "エクスポート テンプレートはインストールされており、利用できます。" #: editor/export_template_manager.cpp #, fuzzy @@ -3849,8 +3877,18 @@ msgid "Download from:" msgstr "ダウンロードエラー" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "ブラウザで実行" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "エラーをコピー" + +#: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "ダウンロードしてインストール" #: editor/export_template_manager.cpp msgid "" @@ -4052,35 +4090,32 @@ msgid "Collapse All" msgstr "すべて折りたたむ" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "ファイル検索" +msgstr "ファイルの並び替え" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "名前 (昇順) で並び替え" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "名前 (降順) で並び替え" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "種類 (昇順) で並び替え" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "種類 (降順) で並び替え" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "最終更新" +msgstr "更新日時が新しい順で並び替え" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "最終更新" +msgstr "更新日時が古い順で並び替え" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -8708,6 +8743,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "すべてのアイテムを除去" @@ -8738,6 +8779,12 @@ msgid "Remove All StyleBox Items" msgstr "すべてのアイテムを除去" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "クラスアイテム追加" @@ -12390,6 +12437,16 @@ msgstr "円柱シェイプの高さを変更" msgid "Change Ray Shape Length" msgstr "レイシェイプの長さを変更" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "カーブポイントの位置を設定" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "カーブポイントの位置を設定" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "円柱の半径を変更" @@ -14160,6 +14217,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "このボディは、メッシュを設定するまで無視されます。" @@ -15444,10 +15537,6 @@ msgstr "定数は変更できません。" #~ msgstr "わかった..." #, fuzzy -#~ msgid "Can't open '%s'." -#~ msgstr "'..'を処理できません" - -#, fuzzy #~ msgid "Ugh" #~ msgstr "うぇ" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 144ef77158..7abc89b216 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -366,6 +366,7 @@ msgstr "ანიმ ლუპის შეცვლა" msgid "Remove Anim Track" msgstr "ანიმაციის თრექის წაშლა" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp #, fuzzy msgid "Create NEW track for %s and insert key?" @@ -391,6 +392,17 @@ msgstr "შექმნა" msgid "Anim Insert" msgstr "ანიმ ჩაყენება" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "ფუნქციები:" + #: editor/animation_track_editor.cpp #, fuzzy msgid "AnimationPlayer can't animate itself, only other players." @@ -398,6 +410,12 @@ msgstr "" "ანიმაციის გამშვები ვერ ჩაატარებს ცდებს საკუთარ თავზე, მხოლოდ სხვა " "მოთამაშეებზე." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "ობიექტზე დაკვირვება" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "ანიმ შექმნა & ჩაყენება" @@ -988,7 +1006,7 @@ msgstr "ახალი %s შექმნა" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2331,6 +2349,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3120,10 +3149,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "უწყვეტი" @@ -3741,6 +3766,15 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "გახსნილი" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8578,6 +8612,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "საყვარლები:" @@ -8606,6 +8646,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "საყვარლები:" @@ -12141,6 +12187,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13772,6 +13826,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/km.po b/editor/translations/km.po index e18a778132..187307bc17 100644 --- a/editor/translations/km.po +++ b/editor/translations/km.po @@ -337,6 +337,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -361,10 +362,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -919,7 +935,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2210,6 +2226,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2989,10 +3016,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3597,6 +3620,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8277,6 +8308,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8301,6 +8338,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11708,6 +11751,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13302,6 +13353,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index eda096e4ce..1f24eb1b1d 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -27,7 +27,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-16 05:47+0000\n" +"PO-Revision-Date: 2021-08-12 14:48+0000\n" "Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -36,7 +36,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -358,6 +358,7 @@ msgstr "애니메이션 루프 모드 바꾸기" msgid "Remove Anim Track" msgstr "애니메이션 트랙 삭제" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s을(를) 위해 새 트랙을 만들고 키를 삽입할까요?" @@ -382,12 +383,30 @@ msgstr "만들기" msgid "Anim Insert" msgstr "애니메이션 삽입" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "'%s' 열수 없음." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "애니메이션" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer는 자신이 아닌 다른 플레이어에만 애니메이션을 부여할 수 있습니" "다." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "'%s' 속성이 없습니다." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "애니메이션 만들기 & 삽입" @@ -961,9 +980,9 @@ msgstr "새 %s 만들기" msgid "No results for \"%s\"." msgstr "\"%s\"에 대한 결과가 없습니다." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "%s의 사용 가능한 설명이 없습니다." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1263,11 +1282,11 @@ msgstr "%s (이미 존재함)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "애셋 \"%s\"의 내용 - 파일 %d개가 프로젝트와 충돌합니다:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "애셋 \"%s\"의 내용 - 프로젝트와 충돌하는 파일이 없습니다:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" @@ -1279,9 +1298,8 @@ msgid "The following files failed extraction from asset \"%s\":" msgstr "다음 파일을 패키지에서 추출하는데 실패함:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "외 %d 개의 파일." +msgstr "(및 더 많은 파일 %s개)" #: editor/editor_asset_installer.cpp #, fuzzy @@ -1531,13 +1549,12 @@ msgid "Can't add autoload:" msgstr "오토로드를 추가할 수 없음:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "파일이 존재하지 않습니다." +msgstr "%s는 잘못된 경로입니다. 파일이 존재하지 않습니다." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s는 잘못된 경로입니다. 리소스 경로(res://)에 있지 않습니다." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1814,9 +1831,8 @@ msgid "Class Properties:" msgstr "속성:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "기능" +msgstr "주요 기능:" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1876,14 +1892,12 @@ msgid "Export" msgstr "내보내기" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "현재 프로필:" +msgstr "선택된 프로필 구성:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "텍스쳐 옵션" +msgstr "별도의 옵션:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." @@ -2307,6 +2321,17 @@ msgid "New Window" msgstr "새 창" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "편집기 창에 변화가 있을 때마다 회전합니다." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "가져온 리소스를 저장할 수 없습니다." @@ -2448,9 +2473,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"이 리소스는 가져온 씬에 속한 리소스이므로 편집할 수 없습니다.\n" -"이 워크플로를 이해하려면 씬 가져오기(Importing Scenes)와 관련된 문서를 읽어주" -"세요." +"`이 리소스는 가져온 씬에 속한 리소스이므로 편집할 수 없습니다.\n" +"이 워크플로를 이해하려면 씬 가져오기(Importing Scenes)와 관련된 설명문서를 읽" +"어주세요." #: editor/editor_node.cpp msgid "" @@ -2477,8 +2502,8 @@ msgid "" msgstr "" "이 씬은 가져온 것이므로 변경 사항이 유지되지 않습니다.\n" "이 씬을 인스턴스화하거나 상속하면 편집할 수 있습니다.\n" -"이 워크플로를 이해하려면 씬 가져오기(Importing Scenes)와 관련된 문서를 읽어주" -"세요." +"이 워크플로를 이해하려면 씬 가져오기(Importing Scenes)와 관련된 설명문서를 읽" +"어주세요." #: editor/editor_node.cpp msgid "" @@ -2487,7 +2512,7 @@ msgid "" "this workflow." msgstr "" "원격 객체는 변경사항이 적용되지 않습니다.\n" -"이 워크플로를 이해하려면 디버깅(Debugging)과 관련된 문서를 읽어주세요." +"이 워크플로를 이해하려면 디버깅(Debugging)과 관련된 설명문서를 읽어주세요." #: editor/editor_node.cpp msgid "There is no defined scene to run." @@ -2568,7 +2593,7 @@ msgstr "이 작업에는 선택한 노드가 필요합니다." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "현재 씬을 저장하지 않았습니다. 무시하고 열까요?" +msgstr "현재 씬이 저장되어 있지 않습니다. 무시하고 여시겠습니까?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." @@ -2600,11 +2625,11 @@ msgstr "예" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "편집기를 끌까요?" +msgstr "편집기를 나가시겠습니까?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "프로젝트 매니저를 열까요?" +msgstr "프로젝트 매니저를 여시겠습니까?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -2612,11 +2637,11 @@ msgstr "저장 & 종료" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "끄기 전에 해당 씬의 변경 사항을 저장할까요?" +msgstr "종료하기 전에 해당 씬의 변경 사항을 저장하시겠습니까?" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before opening Project Manager?" -msgstr "프로젝트 매니저를 열기 전에 해당 씬의 변경 사항을 저장할까요?" +msgstr "프로젝트 매니터를 열기 전에 해당 씬의 변경 사항을 저장하시겠습니까?" #: editor/editor_node.cpp msgid "" @@ -2949,7 +2974,7 @@ msgid "" msgstr "" "이 옵션이 활성화 된 경우 원 클릭 배포를 사용하면 실행중인 프로젝트를 디버깅 " "할 수 있도록이 컴퓨터의 IP에 연결을 시도합니다.\n" -"이 옵션은 원격 디버깅 (일반적으로 모바일 장치 사용)에 사용하기위한 것입니" +"이 옵션은 원격 디버깅 (일반적으로 모바일 기기 사용)에 사용하기 위한 것입니" "다.\n" "GDScript 디버거를 로컬에서 사용하기 위해 활성화 할 필요는 없습니다." @@ -3009,8 +3034,8 @@ msgid "" msgstr "" "이 설정이 활성화된 경우, 편집기에서 씬을 수정하면 실행중인 프로젝트에 반영됩" "니다.\n" -"원격장치에서 사용중인 경우 네트워크 파일 시스템 기능을 활성화하면 더욱 효율적" -"입니다." +"기기에서 원격으로 사용중인 경우 네트워크 파일 시스템 기능을 활성화하면 더욱 " +"효율적입니다." #: editor/editor_node.cpp msgid "Synchronize Script Changes" @@ -3081,9 +3106,8 @@ msgid "Help" msgstr "도움말" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "문서 열기" +msgstr "온라인 설명문서" #: editor/editor_node.cpp msgid "Questions & Answers" @@ -3161,10 +3185,6 @@ msgid "Save & Restart" msgstr "저장 & 다시 시작" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "편집기 창에 변화가 있을 때마다 회전합니다." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "상시 업데이트" @@ -3210,9 +3230,8 @@ msgid "Install from file" msgstr "파일에서 설치" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "소스 메시를 선택하세요:" +msgstr "Android 소스 파일 선택" #: editor/editor_node.cpp msgid "" @@ -3358,9 +3377,8 @@ msgid "Update" msgstr "업데이트" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "버전:" +msgstr "버전" #: editor/editor_plugin_settings.cpp #, fuzzy @@ -3609,7 +3627,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "이 템플릿을 제거합니다." #: editor/export_template_manager.cpp #, fuzzy @@ -3635,42 +3653,37 @@ msgid "Connecting to the mirror..." msgstr "미러에 연결 중..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "호스트 이름을 찾을 수 없음:" +msgstr "요청된 주소를 해결할 수 없습니다." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "호스트에 연결할 수 없음:" +msgstr "미러에 연결할 수 없습니다." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "호스트의 응답 없음:" +msgstr "미러로부터 응담이 없습니다." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed." -msgstr "요청 실패함." +msgstr "요청에 실패했습니다." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "요청 실패. 너무 많은 리다이렉트" +msgstr "요청이 리디렉션 루프로 끝났습니다." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "요청 실패함." +msgstr "요청 실패됨:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "다운로드를 완료하여 템플릿을 압축 해제 중..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" -msgstr "임시 파일을 저장할 수 없음:" +msgstr "임시 파일을 삭제할 수 없음:" #: editor/export_template_manager.cpp msgid "" @@ -3691,7 +3704,7 @@ msgstr "미러 목록의 JSON 구문 분석 중 오류. 이 문제를 신고해 #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "최상의 사용 가능한 미러" #: editor/export_template_manager.cpp msgid "" @@ -3807,17 +3820,26 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "삭제" +msgstr "제거" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "카운터의 초기 값" +msgstr "현재 버전을 위한 템플릿을 제거합니다." #: editor/export_template_manager.cpp #, fuzzy msgid "Download from:" -msgstr "다운로드 오류" +msgstr "다음 위치에서 다운로드:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "브라우저에서 실행" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "복사 오류" #: editor/export_template_manager.cpp msgid "Download and Install" @@ -3839,9 +3861,8 @@ msgid "Install from File" msgstr "파일에서 설치" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "ZIP 파일에서 템플릿 가져오기" +msgstr "로컬 파일로부터 템플릿을 설치합니다." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3859,9 +3880,8 @@ msgid "Other Installed Versions:" msgstr "설치된 버전:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "삭제" +msgstr "템플릿 제거" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -4401,9 +4421,8 @@ msgid "Save As..." msgstr "다른 이름으로 저장..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "리소스 경로에 없습니다." +msgstr "별도의 리소스 옵션." #: editor/inspector_dock.cpp #, fuzzy @@ -4432,13 +4451,12 @@ msgid "History of recently edited objects." msgstr "최근에 편집한 객체 기록입니다." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "문서 열기" +msgstr "이 객체를 위한 설명문서를 엽니다." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" -msgstr "문서 열기" +msgstr "설명문서 열기" #: editor/inspector_dock.cpp msgid "Filter properties" @@ -4690,9 +4708,8 @@ msgid "Blend:" msgstr "혼합:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "매개변수 변경됨" +msgstr "매개변수 변경됨:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5526,7 +5543,7 @@ msgstr "미리 보기" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "스냅 설정" +msgstr "스냅 구성" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" @@ -5802,27 +5819,22 @@ msgstr "모드 선택" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "선택한 노드나 전환을 삭제합니다." +msgstr "드래그: 피벗 주위에 선택된 노드를 회전합니다." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+드래그: 이동" +msgstr "Alt+드래그: 선택된 노드를 이동합니다." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "선택한 노드나 전환을 삭제합니다." +msgstr "V: 선택된 노드의 피벗 위치를 설정합니다." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"클릭한 위치에 있는 모든 객체 목록을 보여줘요\n" -"(선택 모드에서 Alt+우클릭과 같음)." +"Alt+우클릭: 클릭된 위치에 있는 잠금을 포함한 모든 노드의 목록을 보여줍니다." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." @@ -5831,12 +5843,12 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode" -msgstr "이동모드" +msgstr "이동 모드" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "회전모드" +msgstr "회전 모드" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5866,7 +5878,7 @@ msgstr "자 모드" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." -msgstr "스마트 스냅 토글." +msgstr "스마트 스냅을 토글합니다." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Smart Snap" @@ -5874,7 +5886,7 @@ msgstr "스마트 스냅 사용" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle grid snapping." -msgstr "격자 스냅 토글." +msgstr "격자 스냅을 토글합니다." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Grid Snap" @@ -5907,7 +5919,7 @@ msgstr "스마트 스냅" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap..." -msgstr "스냅 설정..." +msgstr "스냅 구성..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Parent" @@ -6410,9 +6422,8 @@ msgid "No mesh to debug." msgstr "디버그할 메시가 없습니다." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "이 레이어에서 모델은 UV가 없습니다" +msgstr "레이어 %d에서 메시에 UV가 없습니다." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -7068,7 +7079,7 @@ msgstr "격자 보이기" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Configure Grid:" -msgstr "격자 설정:" +msgstr "격자 구성:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" @@ -7146,14 +7157,12 @@ msgid "Flip Portals" msgstr "수평으로 뒤집기" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "생성한 점 개수:" +msgstr "방 생성한 점 개수" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "생성한 점 개수:" +msgstr "생성한 점 개수" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy @@ -7402,11 +7411,11 @@ msgstr "온라인 문서" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation." -msgstr "Godot 온라인 문서를 엽니다." +msgstr "Godot 온라인 설명문서를 엽니다." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "참조 문서를 검색합니다." +msgstr "참조 설명문서를 검색합니다." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." @@ -7607,7 +7616,7 @@ msgstr "이전 북마크로 이동" #: editor/plugins/script_text_editor.cpp msgid "Remove All Bookmarks" -msgstr "모든 북마크 제거" +msgstr "모든 북마크 삭제" #: editor/plugins/script_text_editor.cpp msgid "Go to Function..." @@ -7624,7 +7633,7 @@ msgstr "중단점 토글" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "중단점 모두 제거" +msgstr "모든 중단점 삭제" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Breakpoint" @@ -7721,20 +7730,17 @@ msgid "None" msgstr "없음" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "주(State)" +msgstr "회전" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "이동:" +msgstr "이동" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "크기:" +msgstr "크기" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7757,48 +7763,40 @@ msgid "Animation Key Inserted." msgstr "애니메이션 키를 삽입했습니다." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "피치" +msgstr "피치:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "크기: " +msgstr "크기:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "그려진 객체" +msgstr "그려진 객체:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "머티리얼 바꾸기" +msgstr "머티리얼 바꾸기:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "셰이더 바꾸기" +msgstr "셰이더 바꾸기:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "표면 바꾸기" +msgstr "표면 바꾸기:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "드로우 콜" +msgstr "드로우 콜:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "점" +msgstr "정점:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" @@ -8459,71 +8457,63 @@ msgstr "스타일 박스" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num}색" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "하위 리소스를 찾을 수 없습니다." +msgstr "색을 찾을 수 없습니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "상수" +msgstr "상수 {num}개" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "색상 상수." +msgstr "상수를 찾을 수 없습니다." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "글꼴 {num}개" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "찾을 수 없음!" +msgstr "글꼴을 찾을 수 없습니다." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "아이콘 {num}개" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "찾을 수 없음!" +msgstr "아이콘을 찾을 수 없습니다." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "스타일박스 {num}개" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "하위 리소스를 찾을 수 없습니다." +msgstr "스타일박스를 찾을 수 없습니다." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "현재 선택 {num}개" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "가져올 것이 선택되지 않았습니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "테마 가져오기" +msgstr "테마 항목을 가져오는 중" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "항목 {n}/{n} 가져오는 중" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "편집기를 끌까요?" +msgstr "편집기를 업데이트 중" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8531,18 +8521,16 @@ msgid "Finalizing" msgstr "분석 중" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "필터: " +msgstr "필터:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "데이터와 함께" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "노드를 선택하세요" +msgstr "데이터 유형 별 선택:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8558,9 +8546,8 @@ msgid "Deselect all visible color items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "먼저 설정 항목을 선택하세요!" +msgstr "보이는 모든 상수 항목을 선택합니다." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." @@ -8571,9 +8558,8 @@ msgid "Deselect all visible constant items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "먼저 설정 항목을 선택하세요!" +msgstr "보이는 모든 글꼴 항목을 선택합니다." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." @@ -8584,19 +8570,16 @@ msgid "Deselect all visible font items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "먼저 설정 항목을 선택하세요!" +msgstr "보이는 모든 아이콘 항목을 선택합니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "먼저 설정 항목을 선택하세요!" +msgstr "보이는 모든 아이콘 항목과 그 항목의 데이터를 선택합니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "먼저 설정 항목을 선택하세요!" +msgstr "보이는 모든 아이콘 항목을 선택 해제합니다." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." @@ -8617,19 +8600,16 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "모두 접기" +msgstr "유형을 접습니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "모두 펼치기" +msgstr "유형을 펼칩니다." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "템플릿 파일 선택" +msgstr "모든 테마 항목을 선택합니다." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8662,6 +8642,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "모든 항목 삭제" @@ -8692,6 +8678,12 @@ msgid "Remove All StyleBox Items" msgstr "모든 항목 삭제" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "클래스 항목 추가" @@ -8771,9 +8763,8 @@ msgid "Add Type:" msgstr "유형:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "항목 추가" +msgstr "항목 추가:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8781,9 +8772,8 @@ msgid "Add StyleBox Item" msgstr "모든 항목 추가" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "항목 삭제" +msgstr "항목 삭제:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" @@ -8824,9 +8814,8 @@ msgid "Editor Theme" msgstr "테마 편집" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "리소스 삭제" +msgstr "다른 테마 리소스 선택:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8869,9 +8858,8 @@ msgid "Add Item Type" msgstr "항목 추가" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "노드 유형" +msgstr "노드 유형:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8892,9 +8880,8 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "테마" +msgstr "테마:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8959,9 +8946,8 @@ msgid "Checked Radio Item" msgstr "체크된 라디오 항목" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "이름있는 구분자." +msgstr "이름 있는 구분자" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9135,7 +9121,7 @@ msgstr "TileSet에 텍스처를 추가합니다." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected Texture from TileSet." -msgstr "선택한 텍스처를 TileSet에서 제거합니다." +msgstr "선택된 텍스처를 TileSet에서 삭제합니다." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -10399,9 +10385,8 @@ msgid "VisualShader" msgstr "비주얼 셰이더" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "비주얼 속성 편집" +msgstr "비주얼 속성 편집:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10844,14 +10829,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "한 번에 %d개의 프로젝트를 실행할 건가요?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "목록에서 기기 선택" +msgstr "목록에서 프로젝트 %d개를 삭제하시겠습니까?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "목록에서 기기 선택" +msgstr "목록에서 이 프로젝트를 삭제하시겠습니까?" #: editor/project_manager.cpp msgid "" @@ -12312,6 +12295,16 @@ msgstr "캡슐 모양 높이 바꾸기" msgid "Change Ray Shape Length" msgstr "광선 모양 길이 바꾸기" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "곡선 점 위치 설정" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "곡선 점 위치 설정" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "원기둥 반지름 바꾸기" @@ -13109,17 +13102,15 @@ msgstr "목록에서 기기 선택" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "%s에서 실행" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "모두 내보내기" +msgstr "APK로 내보내는 중..." #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "삭제" +msgstr "제거 중..." #: platform/android/export/export.cpp #, fuzzy @@ -13127,14 +13118,12 @@ msgid "Installing to device, please wait..." msgstr "로드 중, 기다려 주세요..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "씬을 인스턴스 할 수 없습니다!" +msgstr "기기에 설치할 수 없음: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "맞춤 스크립트 실행 중..." +msgstr "기기에서 실행 중..." #: platform/android/export/export.cpp #, fuzzy @@ -13163,7 +13152,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." -msgstr "Debug keystore를 편집기 설정과 프리셋에 설정하지 않았습니다." +msgstr "Debug keystore를 편집기 설정과 프리셋에 구성하지 않았습니다." #: platform/android/export/export.cpp msgid "" @@ -13175,7 +13164,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Release keystore incorrectly configured in the export preset." -msgstr "내보내기 프리셋에 배포 keystorke가 잘못 설정되어 있습니다." +msgstr "내보내기 프리셋에 출시 keystorke가 잘못 구성되어 있습니다." #: platform/android/export/export.cpp msgid "A valid Android SDK path is required in Editor Settings." @@ -13187,7 +13176,7 @@ msgstr "편집기 설정에서 잘못된 Android SDK 경로입니다." #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "'platform-tools' 디렉터리가 없습니다!" +msgstr "'platform-tools' 디렉토리가 없습니다!" #: platform/android/export/export.cpp msgid "Unable to find Android SDK platform-tools' adb command." @@ -13195,11 +13184,11 @@ msgstr "Android SDK platform-tools의 adb 명령을 찾을 수 없습니다." #: platform/android/export/export.cpp msgid "Please check in the Android SDK directory specified in Editor Settings." -msgstr "편집기 설정에서 지정된 Android SDK 디렉터리를 확인해주세요." +msgstr "편집기 설정에서 지정된 Android SDK 디렉토리를 확인해주세요." #: platform/android/export/export.cpp msgid "Missing 'build-tools' directory!" -msgstr "'build-tools' 디렉터리가 없습니다!" +msgstr "'build-tools' 디렉토리가 없습니다!" #: platform/android/export/export.cpp msgid "Unable to find Android SDK build-tools' apksigner command." @@ -13263,16 +13252,12 @@ msgid "Signing debug %s..." msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"파일 스캔중.\n" -"기다려주십시오..." +msgstr "출시 %s에 서명 중..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "내보내기 템플릿을 열 수 없음:" +msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다." #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" @@ -13288,9 +13273,8 @@ msgid "'apksigner' verification of %s failed." msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "모두 내보내기" +msgstr "Android용으로 내보내는 중" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13334,14 +13318,12 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "프로젝트 경로에 project.godot 파일을 찾을 수 없습니다." +msgstr "프로젝트 파일을 gradle 프로젝트로 내보낼 수 없었습니다\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "파일에 쓸 수 없음:" +msgstr "확장 패키지 파일을 쓸 수 없었습니다!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13353,7 +13335,7 @@ msgid "" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" "Android 프로젝트의 빌드에 실패했습니다, 출력된 오류를 확인하세요.\n" -"또는 docs.godotengine.org에서 Andoid 빌드 문서를 찾아보세요." +"또는 docs.godotengine.org에서 Android 빌드 설명문서를 찾아보세요." #: platform/android/export/export.cpp msgid "Moving output" @@ -13365,7 +13347,7 @@ msgid "" "outputs." msgstr "" "내보내기 파일을 복사하고 이름을 바꿀 수 없습니다, 출력에 대한 gradle 프로젝" -"트 디렉터리를 확인하세요." +"트 디렉토리를 확인하세요." #: platform/android/export/export.cpp #, fuzzy @@ -13373,16 +13355,16 @@ msgid "Package not found: %s" msgstr "애니메이션을 찾을 수 없음: '%s'" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "윤곽선 만드는 중..." +msgstr "APK를 만드는 중..." #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "내보내기 템플릿을 열 수 없음:" +msgstr "" +"내보낼 템플릿 APK를 찾을 수 없음:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13393,14 +13375,12 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "%s 추가하는 중..." +msgstr "파일을 추가하는 중..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "파일에 쓸 수 없음:" +msgstr "프로젝트 파일을 내보낼 수 없었습니다" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13455,29 +13435,24 @@ msgid "Could not write file:" msgstr "파일에 쓸 수 없음:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "파일에 쓸 수 없음:" +msgstr "파일을 읽을 수 없음:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "맞춤 HTML shell을 읽을 수 없음:" +msgstr "HTML shell을 읽을 수 없음:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "폴더를 만들 수 없습니다." +msgstr "HTTP 서버 디렉토리를 만들 수 없음:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "씬 저장 중 오류." +msgstr "HTTP 서버를 시작하는 중 오류:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "잘못된 식별자:" +msgstr "잘못된 bundle 식별자:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." @@ -14052,6 +14027,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "이 바디는 메시를 설정할 때까지 무시됩니다." @@ -14158,7 +14169,7 @@ msgid "" msgstr "" "색상: #%s\n" "좌클릭: 색상 설정\n" -"우클릭: 프리셋 제거" +"우클릭: 프리셋 삭제" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." @@ -15474,9 +15485,6 @@ msgstr "상수는 수정할 수 없습니다." #~ msgid "I see..." #~ msgstr "알겠습니다..." -#~ msgid "Can't open '%s'." -#~ msgstr "'%s' 열수 없음." - #~ msgid "Ugh" #~ msgstr "오우" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index ab98c9b156..f8bc356023 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -349,6 +349,7 @@ msgstr "Keiskite animacijos ciklo režimą" msgid "Remove Anim Track" msgstr "Animacija: panaikinti įrašą" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -373,10 +374,26 @@ msgstr "Sukurti" msgid "Anim Insert" msgstr "Animacija: įterpti" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacija" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -962,7 +979,7 @@ msgstr "Sukurti Naują" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2288,6 +2305,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3079,10 +3107,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3710,6 +3734,15 @@ msgid "Download from:" msgstr "Atsisiuntimo Klaida" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Atidaryti" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8555,6 +8588,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Mėgstamiausi:" @@ -8583,6 +8622,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Mėgstamiausi:" @@ -12121,6 +12166,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13758,6 +13811,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 3c6ab5cb19..180cd1be1c 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -344,6 +344,7 @@ msgstr "Izmainīt Animācijas Atkārtošanās Režīmu" msgid "Remove Anim Track" msgstr "Noņemt Anim. Celiņu" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Izveidot JAUNU celiņu priekš %s un ievietot atslēgievietni?" @@ -368,10 +369,26 @@ msgstr "Izveidot" msgid "Anim Insert" msgstr "Anim ievietot" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Funkcijas:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer nevar animēt pats sevi, tikai citus spēlētājus." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Izveidot un Ievietot" @@ -950,7 +967,7 @@ msgstr "Izveidot Jaunu %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2270,6 +2287,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3051,10 +3079,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Nepārtraukti Atjaunot" @@ -3665,6 +3689,15 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Atvērt Failu Pārlūkā" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8410,6 +8443,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Noņemt no Favorītiem" @@ -8438,6 +8477,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Pievienot Favorītiem" @@ -11935,6 +11980,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13556,6 +13609,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index 021c55f38b..3a70aade1a 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -329,6 +329,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -353,10 +354,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -911,7 +927,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2202,6 +2218,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2981,10 +3008,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3589,6 +3612,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8266,6 +8297,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8290,6 +8327,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11697,6 +11740,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13291,6 +13342,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/mk.po b/editor/translations/mk.po index a437ddf1c7..bf449381bb 100644 --- a/editor/translations/mk.po +++ b/editor/translations/mk.po @@ -336,6 +336,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -360,10 +361,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -918,7 +934,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2210,6 +2226,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2989,10 +3016,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3598,6 +3621,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8281,6 +8312,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8305,6 +8342,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11712,6 +11755,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13306,6 +13357,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 8213c2251c..b0d3a5a8d7 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -339,6 +339,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -363,10 +364,27 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "ചലനം ചുറ്റൽ" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "ഗുണം നോക്കുക" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -921,7 +939,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2215,6 +2233,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2994,10 +3023,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3602,6 +3627,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8287,6 +8320,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8311,6 +8350,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11719,6 +11764,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13315,6 +13368,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index b459ca23f3..af59635c8a 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -336,6 +336,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -360,10 +361,26 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "अॅनिमेशन ट्री" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -918,7 +935,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2209,6 +2226,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2989,10 +3017,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3597,6 +3621,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8279,6 +8311,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8303,6 +8341,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11713,6 +11757,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13308,6 +13360,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 51a09d2e24..5fd2547bcb 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -344,6 +344,7 @@ msgstr "Tukar Mod Gelung Animasi" msgid "Remove Anim Track" msgstr "Keluarkan Trek Anim" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Cipta trek BARU untuk %s dan masukkan kunci?" @@ -368,10 +369,27 @@ msgstr "Cipta" msgid "Anim Insert" msgstr "Masukkan Anim" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Set Peralihan ke:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer tidak animasikan dirinya sendiri, hanya pemain lain." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Sifat" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Cipta & Masukkan" @@ -950,7 +968,7 @@ msgstr "Cipta %s Baru" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2302,6 +2320,17 @@ msgid "New Window" msgstr "Tetingkap Baru" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Berputar apabila tingkap editor dilukis semula." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Sumber yang diimport tidak dapat disimpan." @@ -3165,10 +3194,6 @@ msgid "Save & Restart" msgstr "Simpan & Mula Semula" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Berputar apabila tingkap editor dilukis semula." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Kemas Kini Secara Berterusan" @@ -3828,6 +3853,15 @@ msgid "Download from:" msgstr "Muat turun" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Buka dalam Pengurus Fail" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8593,6 +8627,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Keluarkan Item" @@ -8623,6 +8663,12 @@ msgid "Remove All StyleBox Items" msgstr "Keluarkan Item" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Tambah ke Kegemaran" @@ -12087,6 +12133,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13712,6 +13766,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index efbca6253d..02f32b055b 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -353,6 +353,7 @@ msgstr "Endre løkkemodus for animasjon" msgid "Remove Anim Track" msgstr "Fjern Anim-Spor" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Lag NYTT spor for %s og sett inn nøkkel?" @@ -377,10 +378,28 @@ msgstr "Lag" msgid "Anim Insert" msgstr "Anim Sett inn" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Kan ikke åpne '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animasjon" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimasjonAvspiller kan ikke animere seg selv, kun andre avspillere." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Egenskapen «%s» eksisterer ikke." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Lag og Sett Inn" @@ -971,7 +990,7 @@ msgstr "Lag ny %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2384,6 +2403,17 @@ msgid "New Window" msgstr "Nytt vindu" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Snurrer når redigeringsvinduet tegner opp på nytt." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Importerte ressurser kan ikke lagres." @@ -3260,10 +3290,6 @@ msgid "Save & Restart" msgstr "Lagre & Avslutt" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Snurrer når redigeringsvinduet tegner opp på nytt." - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Kontinuerlig" @@ -3931,6 +3957,16 @@ msgid "Download from:" msgstr "Nedlastningsfeil" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Vis I Filutforsker" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopier feil" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8990,6 +9026,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Fjern Funksjon" @@ -9020,6 +9062,12 @@ msgid "Remove All StyleBox Items" msgstr "Fjern Funksjon" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Legg til Element" @@ -12688,6 +12736,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Fjern Funksjon" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Fjern Funksjon" + #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" @@ -14382,6 +14440,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -15259,9 +15353,6 @@ msgstr "Konstanter kan ikke endres." #~ msgid "I see..." #~ msgstr "Jeg forstår..." -#~ msgid "Can't open '%s'." -#~ msgstr "Kan ikke åpne '%s'." - #~ msgid "Ugh" #~ msgstr "Æsj" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 2f16b90840..00f87ef79c 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -48,12 +48,13 @@ # Arthur de Roos <arthur.de.roos@gmail.com>, 2021. # Vancha March <tjipkevdh@gmail.com>, 2021. # Hugo van de Kuilen <hugo.vandekuilen1234567890@gmail.com>, 2021. +# tobeqz <vanveenjorik+tobeqz@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-08-02 02:00+0000\n" -"Last-Translator: Hugo van de Kuilen <hugo.vandekuilen1234567890@gmail.com>\n" +"PO-Revision-Date: 2021-08-06 19:42+0000\n" +"Last-Translator: tobeqz <vanveenjorik+tobeqz@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -384,6 +385,7 @@ msgstr "Animatielusmodus veranderen" msgid "Remove Anim Track" msgstr "Verwijder Anim Track" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "NIEUW spoor aanmaken voor %s en sleutel invoegen?" @@ -408,10 +410,28 @@ msgstr "Maken" msgid "Anim Insert" msgstr "Anim Invoegen" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Kan '%s' niet openen." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animatie" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "Animatie-Speler kan zichzelf niet animeren, alleen andere spelers." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Eigenschap '%s' bestaat niet." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Maken & Invoegen" @@ -622,9 +642,8 @@ msgid "Go to Previous Step" msgstr "Ga naar Vorige Stap" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Resetten" +msgstr "Reset" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -643,9 +662,8 @@ msgid "Use Bezier Curves" msgstr "Gebruik Bezier Curves" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Plak sporen" +msgstr "Creëer RESET Track(s)" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -992,9 +1010,9 @@ msgstr "%s opstellen" msgid "No results for \"%s\"." msgstr "Geen resultaten voor \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Geen beschrijving beschikbaar voor %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1094,7 +1112,6 @@ msgid "Owners Of:" msgstr "Eigenaren van:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " @@ -1102,11 +1119,10 @@ msgid "" msgstr "" "Geselecteerde bestanden uit het project verwijderen? (Kan niet ongedaan " "gemaakt worden)\n" -"De bestanden kunnen mogelijk vanuit de prullenbak van het systeem hersteld " -"worden." +"Bestanden kunnen naar de prullenbak gestuurd worden of permanent verwijderd " +"worden, afhankelijk van uw bestandssysteem." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1117,8 +1133,8 @@ msgstr "" "De bestanden die verwijderd worden zijn nodig om andere bronnen te laten " "werken.\n" "Toch verwijderen? (Onomkeerbaar)\n" -"De bestanden kunnen mogelijk vanuit de prullenbak van het systeem hersteld " -"worden." +"De bestanden kunnen naar de prullenbak gestuurd worden of permanent " +"verwijderd worden, afhankelijk van uw bestandssysteem." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1288,7 +1304,6 @@ msgid "Licenses" msgstr "Licenties" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." msgstr "Fout bij het openen van het pakketbestand, geen zip-formaat." @@ -1300,29 +1315,28 @@ msgstr "%s (bestaat al)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" msgstr "" +"Inhoud van asset \"%s\" - %d bestand(en) zijn in conflict met uw project:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Inhoud van asset \"%s\" - Geen bestanden hebben een conflict met uw project:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Bronnen aan het uitpakken" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "De volgende bestanden konden niet worden uitgepakt:" +msgstr "De volgende bestanden konden niet worden uitgepakt uit \"%s\":" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "En nog %s bestand(en)." +msgstr "(en nog %s bestanden)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Pakket succesvol geïnstalleerd!" +msgstr "Asset \"%s\" succesvol geïnstalleerd!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1334,9 +1348,8 @@ msgid "Install" msgstr "Installeer" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Pakketinstalleerder" +msgstr "Assetinstalleerder" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1399,7 +1412,6 @@ msgid "Bypass" msgstr "Omleiden" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Audiobusopties" @@ -1567,13 +1579,12 @@ msgid "Can't add autoload:" msgstr "Autoload kan niet toevoegd worden:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Bestand bestaat niet." +msgstr "%s is een ongeldig pad. Bestand bestaat niet." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s is een ongeldig pad. Niet in bron pad (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1773,7 +1784,7 @@ msgstr "Importtabblad" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Laat u 3D scenes weergeven en bewerken." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." @@ -2345,6 +2356,17 @@ msgid "New Window" msgstr "Nieuw Venster" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Draait wanneer het editor venster wordt hertekend." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Geïmporteerde bronnen kunnen niet opgeslagen worden." @@ -3205,10 +3227,6 @@ msgid "Save & Restart" msgstr "Opslaan & Herstarten" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Draait wanneer het editor venster wordt hertekend." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Continu Bijwerken" @@ -3874,6 +3892,16 @@ msgid "Download from:" msgstr "Downloadfout" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Uitvoeren in Browser" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopieer Fout" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8745,6 +8773,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Verwijder Alle Items" @@ -8775,6 +8809,12 @@ msgid "Remove All StyleBox Items" msgstr "Verwijder Alle Items" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Class Items Toevoegen" @@ -12447,6 +12487,16 @@ msgstr "Wijzig Cylinder Vorm Hoogte" msgid "Change Ray Shape Length" msgstr "Wijzig Ray Vorm Lengte" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Zet Curve Punt Positie" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Zet Curve Punt Positie" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Wijzig Cylinder Straal" @@ -14216,6 +14266,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Dit lichaam zal worden genegeerd totdat je een mesh instelt." @@ -15415,9 +15501,6 @@ msgstr "Constanten kunnen niet worden aangepast." #~ msgid "I see..." #~ msgstr "Ik snap het..." -#~ msgid "Can't open '%s'." -#~ msgstr "Kan '%s' niet openen." - #~ msgid "Ugh" #~ msgstr "Oeps" diff --git a/editor/translations/or.po b/editor/translations/or.po index 89cbdfbf2b..8bee62f8d5 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -335,6 +335,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -359,10 +360,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -917,7 +933,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2208,6 +2224,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2987,10 +3014,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3595,6 +3618,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8272,6 +8303,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8296,6 +8333,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11703,6 +11746,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13297,6 +13348,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index edaf8ab701..24ad379ad0 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -384,6 +384,7 @@ msgstr "Zmień sposób zapętlania animacji" msgid "Remove Anim Track" msgstr "Usuń ścieżkę animacji" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Utworzyć NOWĄ ścieżkę dla %s i wstawić klucz?" @@ -408,11 +409,29 @@ msgstr "Utwórz" msgid "Anim Insert" msgstr "Wstaw animację" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Nie można otworzyć '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacja" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer nie może animować sam siebie, tylko inne węzły tego typu." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Właściwość \"%s\" nie istnieje." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Utwórz i wstaw" @@ -987,7 +1006,7 @@ msgstr "Utwórz nowy %s" msgid "No results for \"%s\"." msgstr "Brak wyników dla \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2333,6 +2352,17 @@ msgid "New Window" msgstr "Nowe okno" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Obraca się, gdy okno edytora jest przerysowywane." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Zaimportowane zasoby nie mogą być zapisane." @@ -3192,10 +3222,6 @@ msgid "Save & Restart" msgstr "Zapisz i zrestartuj" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Obraca się, gdy okno edytora jest przerysowywane." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Aktualizuj ciągle" @@ -3856,6 +3882,16 @@ msgid "Download from:" msgstr "Błąd pobierania" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Uruchom w przeglądarce" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Kopiuj błąd" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8727,6 +8763,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Usuń wszystkie elementy" @@ -8757,6 +8799,12 @@ msgid "Remove All StyleBox Items" msgstr "Usuń wszystkie elementy" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Dodaj klasę elementów" @@ -12419,6 +12467,16 @@ msgstr "Zmień wysokość kształtu cylindra" msgid "Change Ray Shape Length" msgstr "Zmień długość Ray Shape" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Ustaw pozycje punktu krzywej" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Ustaw pozycje punktu krzywej" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Zmień promień cylindra" @@ -14200,6 +14258,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "To ciało będzie ignorowane, dopóki nie ustawisz siatki." @@ -15477,9 +15571,6 @@ msgstr "Stałe nie mogą być modyfikowane." #~ msgid "I see..." #~ msgstr "Widzę..." -#~ msgid "Can't open '%s'." -#~ msgstr "Nie można otworzyć '%s'." - #~ msgid "Ugh" #~ msgstr "Błąd" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 1bcfe47610..96fab899cd 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -360,6 +360,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -384,10 +385,26 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Yer functions:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -962,7 +979,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2291,6 +2308,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3086,10 +3114,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3720,6 +3744,15 @@ msgid "Download from:" msgstr "Discharge ye' Variable" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Slit th' Node" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8562,6 +8595,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Discharge ye' Variable" @@ -8592,6 +8631,12 @@ msgid "Remove All StyleBox Items" msgstr "Discharge ye' Variable" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Add Node" @@ -12150,6 +12195,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Discharge ye' Signal" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Discharge ye' Signal" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13820,6 +13875,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index e51c7a3b77..1c8e2476a3 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-03 10:33+0000\n" -"Last-Translator: André Silva <andre.olivais@gmail.com>\n" +"PO-Revision-Date: 2021-08-06 06:48+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" "Language: pt\n" @@ -354,6 +354,7 @@ msgstr "Mudar Modo do Loop da Animação" msgid "Remove Anim Track" msgstr "Remover Pista de Animação" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Criar NOVA pista para %s e inserir chave?" @@ -378,12 +379,30 @@ msgstr "Criar" msgid "Anim Insert" msgstr "Anim Inserir" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Impossível abrir '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animação" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "AnimationPlayer não se pode animar a ele próprio, apenas a outros " "executantes." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Não existe a Propriedade '%s'." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Criar & Inserir" @@ -591,9 +610,8 @@ msgid "Go to Previous Step" msgstr "Ir para Passo Anterior" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Repor" +msgstr "Aplicar Reinicialização" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -612,9 +630,8 @@ msgid "Use Bezier Curves" msgstr "Usar Curvas Bezier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Colar Pistas" +msgstr "Criar Pista(s) RESET" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -939,7 +956,6 @@ msgid "Edit..." msgstr "Editar..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Ir para Método" @@ -959,9 +975,9 @@ msgstr "Criar Novo %s" msgid "No results for \"%s\"." msgstr "Nenhum resultado para \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Nenhuma descrição disponível para %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1061,17 +1077,16 @@ msgid "Owners Of:" msgstr "Proprietários de:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Remover ficheiros selecionados do Projeto? (sem desfazer)\n" -"Pode encontrar os ficheiros removidos na Reciclagem do sistema." +"Remover ficheiros selecionados do Projeto? (Sem desfazer.)\n" +"Dependendo da configuração, pode encontrar os ficheiros removidos na " +"Reciclagem do sistema ou apagados permanentemente." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1081,8 +1096,9 @@ msgid "" msgstr "" "Os ficheiros a serem removidos são necessários para que outros recursos " "funcionem.\n" -"Remover mesmo assim? (sem desfazer)\n" -"Pode encontrar os ficheiros removidos na Reciclagem do sistema." +"Remover mesmo assim? (Sem desfazer.)\n" +"Dependendo da configuração, pode encontrar os ficheiros removidos na " +"Reciclagem do sistema ou apagados permanentemente." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1252,14 +1268,13 @@ msgid "Licenses" msgstr "Licenças" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Erro ao abrir ficheiro comprimido (não está no formato ZIP)." +msgstr "" +"Erro ao abrir ficheiro de recurso para \"%s\" (não está no formato ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Já Existe)" +msgstr "%s (já existe)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" @@ -1274,19 +1289,16 @@ msgid "Uncompressing Assets" msgstr "A Descomprimir Ativos" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Falhou a extração dos seguintes Ficheiros do pacote:" +msgstr "Falhou a extração dos seguintes ficheiros do recurso \"%s\":" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "E mais %s ficheiros." +msgstr "(e mais %s ficheiros)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Pacote Instalado com sucesso!" +msgstr "Recurso \"%s\" instalado com sucesso!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1298,9 +1310,8 @@ msgid "Install" msgstr "Instalar" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Instalador de Pacotes" +msgstr "Instalador de Recursos" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -2310,6 +2321,17 @@ msgid "New Window" msgstr "Nova Janela" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Roda quando a janela do editor atualiza." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Recursos importados não podem ser guardados." @@ -3171,10 +3193,6 @@ msgid "Save & Restart" msgstr "Guardar & Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Roda quando a janela do editor atualiza." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Atualização Contínua" @@ -3839,6 +3857,16 @@ msgid "Download from:" msgstr "Erro na transferência" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Executar no Navegador" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copiar Erro" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8698,6 +8726,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Remover Todos os Itens" @@ -8728,6 +8762,12 @@ msgid "Remove All StyleBox Items" msgstr "Remover Todos os Itens" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Adicionar Itens de Classe" @@ -12385,6 +12425,16 @@ msgstr "Mudar Altura da Forma Cilindro" msgid "Change Ray Shape Length" msgstr "Mudar comprimento da forma raio" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Definir posição do Ponto da curva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Definir posição do Ponto da curva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Mudar Raio do Cilindro" @@ -14158,6 +14208,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Este corpo será ignorado até se definir uma malha." @@ -15596,9 +15682,6 @@ msgstr "Constantes não podem ser modificadas." #~ msgid "I see..." #~ msgstr "Eu vejo..." -#~ msgid "Can't open '%s'." -#~ msgstr "Impossível abrir '%s'." - #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index c11e4f347b..b7bb7ce0c4 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -95,14 +95,14 @@ # Felipe Jesus Macedo <fmacedo746@gmail.com>, 2020. # José Paulo <jose.paulo1919@gmail.com>, 2020. # Necco <necco@outlook.com>, 2020. -# Marcelo Silveira Hayden <mshayden.1998@gmail.com>, 2020. +# Marcelo Silveira Hayden <mshayden.1998@gmail.com>, 2020, 2021. # GUILHERME SOUZA REIS DE MELO LOPES <guilhermesrml@unipam.edu.br>, 2020. # Gabriela Araújo <Gabirin@outlook.com.br>, 2020. # Jairo Tuboi <tuboi.jairo@gmail.com>, 2020. # Felipe Fetter <felipetfetter@gmail.com>, 2020. # Rafael Henrique Capati <rhcapati@gmail.com>, 2020. # NogardRyuu <nogardryuu@gmail.com>, 2020, 2021. -# Elton <eltondeoliveira@outlook.com>, 2020. +# 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. @@ -118,12 +118,14 @@ # Gustavo HM 102 <gustavohm102@gmail.com>, 2021. # Douglas Leão <djlsplays@gmail.com>, 2021. # PauloFRs <paulofr1@hotmail.com>, 2021. +# Diego Bloise <diego-dev@outlook.com>, 2021. +# Alkoarism <Alkoarism@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2021-06-29 08:04+0000\n" -"Last-Translator: PauloFRs <paulofr1@hotmail.com>\n" +"PO-Revision-Date: 2021-08-06 06:47+0000\n" +"Last-Translator: Alkoarism <Alkoarism@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -131,7 +133,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.7.1-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -452,6 +454,7 @@ msgstr "Alterar Modo Repetição da Animação" msgid "Remove Anim Track" msgstr "Remover Trilha da Anim" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Criar NOVA faixa para %s e inserir chave?" @@ -476,10 +479,28 @@ msgstr "Criar" msgid "Anim Insert" msgstr "Inserir Anim" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Não é possível abrir '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animação" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer não pode animar a si mesmo, apenas outros jogadores." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Nenhuma propriedade '%s' existe." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Criar e Inserir Anim" @@ -689,9 +710,8 @@ msgid "Go to Previous Step" msgstr "Ir ao Passo Anterior" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Recompor" +msgstr "Redefinir" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -710,9 +730,8 @@ msgid "Use Bezier Curves" msgstr "Usar Curvas de Bezier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Colar Trilhas" +msgstr "Criar RESET Track(s)" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -785,7 +804,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 Deslocamento de Fim do Clipe de Faixa de Áudio" +msgstr "Alterar fim da Trilha de Aúdio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -1056,9 +1075,9 @@ msgstr "Criar Novo %s" msgid "No results for \"%s\"." msgstr "Sem resultados para \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Sem descrição disponível para %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1158,18 +1177,16 @@ msgid "Owners Of:" msgstr "Donos De:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Remover arquivos selecionados do projeto? (irreversível)\n" -"Você pode encontrar os arquivos removidos na lixeira do sistema para " -"restaurá-los." +"Remover arquivos selecionados do projeto? (Irreversível.)\n" +"Dependendo da configuração do seu sistema, os arquivos serão movidos para a " +"lixeira do sistema ou apagados permanentemente." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1177,11 +1194,11 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Os arquivos sendo removidos são requeridos por outros recursos para que " -"funcionem.\n" -"Removê-los mesmo assim? (irreversível)\n" -"Você pode encontrar os arquivos removidos na lixeira do sistema para " -"restaurá-los." +"Os arquivos que estão sendo removidos são necessários por outros recursos " +"para que funcionem.\n" +"Removê-los mesmo assim? (Irreversível.)\n" +"Dependendo da configuração do seu sistema, os arquivos serão movidos para a " +"lixeira do sistema ou apagados permanentemente." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1351,9 +1368,8 @@ msgid "Licenses" msgstr "Licenças" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Erro ao abrir arquivo compactado (não está em formato ZIP)." +msgstr "Erro ao abrir o pacote \"%s\" (não está em formato ZIP)." #: editor/editor_asset_installer.cpp #, fuzzy @@ -1362,30 +1378,30 @@ msgstr "%s (Já existe)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "Conteúdo do asset \"%s\" - %d arquivo(s) conflita(m) com seu projeto:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Conteúdo do asset \"%s\" - Nenhum arquivo entra em conflito com o seu " +"projeto:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Descompactando Assets" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Os arquivos a seguir falharam ao serem extraídos do pacote:" +msgstr "Os seguintes arquivos falharam na extração do asset \"% s\":" #: editor/editor_asset_installer.cpp #, fuzzy msgid "(and %s more files)" -msgstr "%s mais arquivo(s)." +msgstr "(e %s mais arquivos)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Pacote instalado com sucesso!" +msgstr "Asset \"%s\" instalados com sucesso!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1397,9 +1413,8 @@ msgid "Install" msgstr "Instalar" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Instalador de Pacotes" +msgstr "Instalador de Assets" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1632,11 +1647,11 @@ msgstr "Não pode adicionar autoload:" #: editor/editor_autoload_settings.cpp #, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "O arquivo não existe." +msgstr "O %s é um caminho inválido. O arquivo não existe." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s é um caminho inválido. Não está no caminho dos recursos (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1662,7 +1677,7 @@ msgstr "Nome" #: editor/editor_autoload_settings.cpp #, fuzzy msgid "Global Variable" -msgstr "Variável" +msgstr "Variável Global" #: editor/editor_data.cpp msgid "Paste Params" @@ -1763,8 +1778,8 @@ msgid "" "Target platform requires 'PVRTC' texture compression for GLES2. Enable " "'Import Pvrtc' in Project Settings." msgstr "" -"A plataforma alvo requer compressão de texturas 'PVRTC' para GLES2. Habilite " -"'Importar Pvrtc' nas Configurações de Projeto." +"A plataforma de destino requer compressão de texturas 'PVRTC' para GLES2. " +"Habilite 'Importar Pvrtc' nas Configurações de Projeto." #: editor/editor_export.cpp msgid "" @@ -1836,36 +1851,43 @@ msgid "Import Dock" msgstr "Importar Dock" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permite visualizar e editar cenas 3D." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Permite editar scripts usando o editor de script integrado." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Fornece acesso integrado à Biblioteca de Assets." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Permite editar a hierarquia de nó na doca Cena." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." -msgstr "" +msgstr "Permite trabalhar com sinais e grupos do nó selecionado na doca Cena." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Permite navegar pelo sistema de arquivos local através de uma doca dedicada." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Permite definir as configurações de importação para assets individualmente. " +"Requer a doca FileSystem para funcionar." #: editor/editor_feature_profile.cpp #, fuzzy @@ -1874,11 +1896,11 @@ msgstr "(Atual)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(Nenhum(a))" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "Remover o perfil selecionado, '%s'? Não pode ser desfeita." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1911,17 +1933,16 @@ msgstr "Habilitar Editor Contextual" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Class Properties:" -msgstr "Propriedades:" +msgstr "Propriedades de Classe:" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Main Features:" -msgstr "Funcionalidades" +msgstr "Características principais:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Classes Ativadas:" +msgstr "Nós e Classes:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1939,9 +1960,8 @@ msgid "Error saving profile to path: '%s'." msgstr "Erro ao salvar perfil no caminho: '%s'." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" -msgstr "Redefinir para os padrões" +msgstr "Redefinir padrões" #: editor/editor_feature_profile.cpp msgid "Current Profile:" @@ -1950,12 +1970,12 @@ msgstr "Perfil Atual:" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Create Profile" -msgstr "Apagar Perfil" +msgstr "Criar Perfil" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Remove Profile" -msgstr "Remover Telha" +msgstr "Remover Perfil" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1977,16 +1997,19 @@ msgstr "Exportação" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Configure Selected Profile:" -msgstr "Perfil Atual:" +msgstr "Configurar Perfil Selecionado:" #: editor/editor_feature_profile.cpp #, fuzzy msgid "Extra Options:" -msgstr "Opções da Textura" +msgstr "Opções Extra:" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Criar ou importar um perfil para editar as classes e propriedades " +"disponíveis." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -2015,7 +2038,7 @@ msgstr "Selecionar a Pasta Atual" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "File exists, overwrite?" -msgstr "O arquivo existe. Sobrescrever?" +msgstr "O arquivo já existe. Sobrescrever?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2408,6 +2431,17 @@ msgid "New Window" msgstr "Nova Janela" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Gira quando a janela do editor atualiza." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Recursos Importados não podem ser salvos." @@ -2638,13 +2672,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"A cena atual não tem um nó raiz, mas %d recurso(s) externo(s) modificado(s) " +"foram salvos de qualquer forma." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Um nó raiz é requerido para salvar a cena." +msgstr "" +"Um nó-raiz é necessário para salvar a cena. Você pode adicionar um nó-raiz " +"usando a doca da árvore de cenas." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2752,9 +2789,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: '%s'." -msgstr "" -"Não foi possível localizar a área do script para o complemento do plugin em: " -"'%s'." +msgstr "Não foi possível encontrar o campo de script para o plugin em: '%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." @@ -3035,7 +3070,7 @@ msgstr "Explorador de Recursos Órfãos..." #: editor/editor_node.cpp #, fuzzy msgid "Reload Current Project" -msgstr "Renomear Projeto" +msgstr "Recarregar o projeto atual" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3197,11 +3232,12 @@ msgstr "Ajuda" #: editor/editor_node.cpp #, fuzzy msgid "Online Documentation" -msgstr "Abrir Documentação" +msgstr "Documentação Online" #: editor/editor_node.cpp +#, fuzzy msgid "Questions & Answers" -msgstr "" +msgstr "Perguntas & Respostas" #: editor/editor_node.cpp msgid "Report a Bug" @@ -3210,7 +3246,7 @@ msgstr "Reportar bug" #: editor/editor_node.cpp #, fuzzy msgid "Suggest a Feature" -msgstr "Defina um Valor" +msgstr "Sugira um recurso" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3223,7 +3259,7 @@ msgstr "Comunidade" #: editor/editor_node.cpp #, fuzzy msgid "About Godot" -msgstr "Sobre" +msgstr "Sobre Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3275,10 +3311,6 @@ msgid "Save & Restart" msgstr "Salvar e Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Gira quando a janela do editor atualiza." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Atualizar Continuamente" @@ -3323,12 +3355,12 @@ msgstr "Gerenciar Templates" #: editor/editor_node.cpp #, fuzzy msgid "Install from file" -msgstr "Instalar a Partir do Arquivo" +msgstr "Instalar do arquivo" #: editor/editor_node.cpp #, fuzzy msgid "Select android sources file" -msgstr "Selecione uma Malha de origem:" +msgstr "Selecione o arquivo de fontes do Android" #: editor/editor_node.cpp msgid "" @@ -3412,7 +3444,7 @@ msgstr "Selecionar" #: editor/editor_node.cpp #, fuzzy msgid "Select Current" -msgstr "Selecionar a Pasta Atual" +msgstr "Selecione Atual" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3449,7 +3481,7 @@ msgstr "Nenhum sub-recurso encontrado." #: editor/editor_path.cpp #, fuzzy msgid "Open a list of sub-resources." -msgstr "Nenhum sub-recurso encontrado." +msgstr "Abra uma lista de sub-recursos." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3478,12 +3510,12 @@ msgstr "Atualizar" #: editor/editor_plugin_settings.cpp #, fuzzy msgid "Version" -msgstr "Versão:" +msgstr "Versão" #: editor/editor_plugin_settings.cpp #, fuzzy msgid "Author" -msgstr "Autores" +msgstr "Autor" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3496,14 +3528,12 @@ msgid "Measure:" msgstr "Medida:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Tempo do Frame (seg)" +msgstr "Tempo do Frame (ms)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Tempo Médio (seg)" +msgstr "Tempo Médio (ms)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3945,6 +3975,16 @@ msgid "Download from:" msgstr "Erro ao baixar" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Rodar no Navegador" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Copiar Erro" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -4294,15 +4334,15 @@ msgstr "Procurando..." #: editor/find_in_files.cpp msgid "%d match in %d file." -msgstr "%d correspondência em %d arquivo." +msgstr "%d correspondências no arquivo %d." #: editor/find_in_files.cpp msgid "%d matches in %d file." -msgstr "%d correspondências em %d arquivo." +msgstr "%d correspondências no arquivo %d." #: editor/find_in_files.cpp msgid "%d matches in %d files." -msgstr "%d correspondências em %d arquivos." +msgstr "%d correspondências no arquivo %d." #: editor/groups_editor.cpp msgid "Add to Group" @@ -4444,11 +4484,11 @@ msgstr "Selecione o arquivo para importar" #: editor/import_defaults_editor.cpp msgid "Importer:" -msgstr "Importar:" +msgstr "Importador:" #: editor/import_defaults_editor.cpp msgid "Reset to Defaults" -msgstr "Redefinir para os padrões" +msgstr "Redefinir padrões" #: editor/import_dock.cpp msgid "Keep File (No Import)" @@ -4766,7 +4806,7 @@ msgstr "Abrir Editor" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp msgid "Open Animation Node" -msgstr "Abrir Animação de Nós" +msgstr "Abrir Nó de Animação" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Triangle already exists." @@ -4833,7 +4873,7 @@ msgstr "Editar Filtros" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "Nós de saída não pode ser adicionado à árvore de mistura." +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" @@ -8818,6 +8858,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Remover Todos os Itens" @@ -8848,6 +8894,12 @@ msgid "Remove All StyleBox Items" msgstr "Remover Todos os Itens" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Adicionar Itens de Classe" @@ -12508,6 +12560,16 @@ msgstr "Alterar a Altura da Forma do Cilindro" msgid "Change Ray Shape Length" msgstr "Alterar o Comprimento da Forma do Raio" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Definir Posição do Ponto da Curva" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Definir Posição do Ponto da Curva" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Alterar Raio do Cilindro" @@ -14289,6 +14351,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Este corpo será ignorado até você definir uma malha." @@ -15546,9 +15644,6 @@ msgstr "Constantes não podem serem modificadas." #~ msgid "I see..." #~ msgstr "Entendo..." -#~ msgid "Can't open '%s'." -#~ msgstr "Não é possível abrir '%s'." - #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index f1d65384fc..2b1626bfe2 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -351,6 +351,7 @@ msgstr "Schimbați Bucla Animației" msgid "Remove Anim Track" msgstr "Elimină Pista Anim" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Creați pistă NOUA pentru %s și inserați cheie?" @@ -375,10 +376,28 @@ msgstr "Creați" msgid "Anim Insert" msgstr "Anim Inserați" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Mod Snap (%s)" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animație" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer nu se poate anima singur, doar alți jucători." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Proprietate" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Creați și Inserați" @@ -955,7 +974,7 @@ msgstr "Creați %s Nou" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2315,6 +2334,17 @@ msgid "New Window" msgstr "Fereastră Nouă" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Se rotește când fereastra editorului se redeschide." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Resursele importate nu pot fi salvate." @@ -3179,10 +3209,6 @@ msgid "Save & Restart" msgstr "Salvează și Restartează" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Se rotește când fereastra editorului se redeschide." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Actualizare continuă" @@ -3821,6 +3847,15 @@ msgid "Download from:" msgstr "Eroare Descărcare" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Execută în Browser" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8780,6 +8815,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Eliminați Autoload" @@ -8810,6 +8851,12 @@ msgid "Remove All StyleBox Items" msgstr "Eliminați Autoload" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Adaugă Obiect" @@ -12407,6 +12454,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Setare poziție punct de curbă" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Setare poziție punct de curbă" + #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" @@ -14064,6 +14121,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -14580,9 +14673,6 @@ msgstr "" #~ msgid "Scale Mode (R)" #~ msgstr "Mod Redimensionare (R)" -#~ msgid "Snap Mode (%s)" -#~ msgstr "Mod Snap (%s)" - #~ msgid "Tool Scale" #~ msgstr "Unealtă Dimensiune" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index a5d8b4ea1c..50d4484e4b 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -102,7 +102,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-29 02:33+0000\n" +"PO-Revision-Date: 2021-08-10 21:40+0000\n" "Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" @@ -112,7 +112,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -435,6 +435,7 @@ msgstr "Изменить режим цикла анимации" msgid "Remove Anim Track" msgstr "Удалить дорожку" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Создать новую дорожку для %s и вставить ключ?" @@ -459,10 +460,28 @@ msgstr "Создать" msgid "Anim Insert" msgstr "Вставить" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Не удаётся открыть '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Анимация" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer не может анимировать сам себя, только других." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Свойство «%s» не существует." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Создать и вставить" @@ -672,9 +691,8 @@ msgid "Go to Previous Step" msgstr "Перейти к предыдущему шагу" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Сбросить" +msgstr "Применить сброс" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -693,9 +711,8 @@ msgid "Use Bezier Curves" msgstr "Использовать кривые Безье" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Вставить треки" +msgstr "Создать дорожку(и) СБРОСА" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -1020,7 +1037,6 @@ msgid "Edit..." msgstr "Редактировать..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Перейти к методу" @@ -1040,9 +1056,9 @@ msgstr "Создать %s" msgid "No results for \"%s\"." msgstr "Нет результатов для «%s»." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Нет описания для «%s»." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1142,17 +1158,16 @@ msgid "Owners Of:" msgstr "Владельцы:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Удалить выбранные файлы из проекта? (Нельзя отменить)\n" -"Вы можете найти удалённые файлы в корзине, чтобы восстановить их." +"Удалить выбранные файлы из проекта? (Нельзя отменить.)\n" +"В зависимости от конфигурации вашей файловой системы файлы будут перемещены " +"в системную корзину или удалены навсегда." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1161,8 +1176,9 @@ msgid "" "to the system trash or deleted permanently." msgstr "" "Удаляемые файлы требуются для правильной работы других ресурсов.\n" -"Всё равно удалить их? (Нельзя отменить)\n" -"Вы можете найти удалённые файлы в корзине, чтобы восстановить их." +"Всё равно удалить их? (Нельзя отменить.)\n" +"В зависимости от конфигурации вашей файловой системы файлы будут перемещены " +"в системную корзину или удалены навсегда." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1332,41 +1348,36 @@ msgid "Licenses" msgstr "Лицензии" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Ошибка при открытии файла пакета (Не является ZIP форматом)." +msgstr "Ошибка при открытии файла ресурса «%s» (не в формате ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Уже существует)" +msgstr "%s (уже существует)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "Содержимое ресурса «%s» - %d файл(ов) конфликтуют с вашим проектом:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "Содержимое ресурса «%s» - Нет файлов, конфликтующих с вашим проектом:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Распаковка ассетов" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Следующие файлы не удалось извлечь из пакета:" +msgstr "Следующие файлы не удалось извлечь из пакета «%s»:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "Ещё %d файла(ов)." +msgstr "(ещё %d файла(ов))" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Пакет успешно установлен!" +msgstr "Ресурс «%s» успешно установлен!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1378,9 +1389,8 @@ msgid "Install" msgstr "Установить" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Установщик пакетов" +msgstr "Установщик ресурсов" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1443,7 +1453,6 @@ msgid "Bypass" msgstr "Обход" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Параметры шины" @@ -1611,13 +1620,12 @@ msgid "Can't add autoload:" msgstr "Не удаётся добавить автозагрузку:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Файл не существует." +msgstr "Неверный путь «%s». Файл не существует." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s — недопустимый путь. Нужен ресурсный путь (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1641,9 +1649,8 @@ msgid "Name" msgstr "Название" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Переменная" +msgstr "Глобальная переменная" #: editor/editor_data.cpp msgid "Paste Params" @@ -1817,48 +1824,52 @@ msgstr "Панель «Импорт»" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Позволяет просматривать и редактировать 3D-сцены." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." msgstr "" +"Позволяет редактировать скрипты с помощью встроенного редактора скриптов." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Предоставляет встроенный доступ к Библиотеке ресурсов." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Позволяет редактировать иерархию узлов в панели «Сцена»." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Позволяет работать с сигналами и группами узла, выбранного в панели «Сцена»." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Позволяет просматривать локальную файловую систему через специальную панель." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Позволяет настраивать параметры импорта для отдельных ресурсов. Для работы " +"требуется панель «Файловая система»." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Текущий)" +msgstr "(текущий)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(нет)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "Удалить текущий выбранный профиль, «%s»? Не может быть отменено." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1890,19 +1901,16 @@ msgid "Enable Contextual Editor" msgstr "Включить контекстный редактор" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Свойства:" +msgstr "Свойства класса:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Возможности" +msgstr "Основные возможности:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Доступные классы:" +msgstr "Узлы и классы:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1921,7 +1929,6 @@ msgid "Error saving profile to path: '%s'." msgstr "Ошибка сохранения профиля в «%s»." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "Сбросить настройки" @@ -1930,14 +1937,12 @@ msgid "Current Profile:" msgstr "Текущий профиль:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Стереть профиль" +msgstr "Создать профиль" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Удалить тайл" +msgstr "Удалить профиль" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1957,18 +1962,18 @@ msgid "Export" msgstr "Экспорт" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Текущий профиль:" +msgstr "Настроить выбранный профиль:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Параметры текстуры" +msgstr "Дополнительные параметры:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Создайте или импортируйте профиль для редактирования доступных классов и " +"свойств." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1995,7 +2000,6 @@ msgid "Select Current Folder" msgstr "Выбрать текущую папку" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" msgstr "Файл существует, перезаписать?" @@ -2390,6 +2394,17 @@ msgid "New Window" msgstr "Новое окно" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Вращается, когда окно редактора перерисовывается." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Импортированные ресурсы не могут быть сохранены." @@ -2621,13 +2636,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"Текущая сцена не имеет корневого узла, но %d изменённых внешних ресурсов всё " +"равно были сохранены." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Для сохранения сцены требуется корневой узел." +msgstr "" +"Для сохранения сцены требуется корневой узел. Вы можете добавить его, " +"используя панель «Сцена»." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3010,9 +3028,8 @@ msgid "Orphan Resource Explorer..." msgstr "Обзор ресурсов-сирот..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Переименовать проект" +msgstr "Перезагрузить текущий проект" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3171,22 +3188,20 @@ msgid "Help" msgstr "Справка" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Открыть документацию" +msgstr "Онлайн-документация" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Вопросы и ответы" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "Сообщить об ошибке" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "Установить значение" +msgstr "Предложить функцию" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3197,9 +3212,8 @@ msgid "Community" msgstr "Сообщество" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "О Godot Engine" +msgstr "О Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3251,10 +3265,6 @@ msgid "Save & Restart" msgstr "Сохранить и перезапустить" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Вращается, когда окно редактора перерисовывается." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Непрерывное обновление" @@ -3297,14 +3307,12 @@ msgid "Manage Templates" msgstr "Управление шаблонами" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" msgstr "Установить из файла" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Выберите источник полисетки:" +msgstr "Выберите файл исходников android" #: editor/editor_node.cpp msgid "" @@ -3387,9 +3395,8 @@ msgid "Select" msgstr "Выделение" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Выбрать текущую папку" +msgstr "Выбрать текущий" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3424,9 +3431,8 @@ msgid "No sub-resources found." msgstr "Вложенные ресурсы не найдены." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Вложенные ресурсы не найдены." +msgstr "Открыть список вложенных ресурсов." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3453,14 +3459,12 @@ msgid "Update" msgstr "Обновление" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Версия:" +msgstr "Версия" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Авторы" +msgstr "Автор" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3473,14 +3477,12 @@ msgid "Measure:" msgstr "Единица измерения:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Время кадра (сек.)" +msgstr "Время кадра (мс)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Среднее время (сек.)" +msgstr "Среднее время (мс)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3507,6 +3509,12 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Включительно: Включает время других функций, вызываемых этой функцией.\n" +"Используйте для выявления узких мест.\n" +"\n" +"Субъект: учитывает только время, затраченное в самой функции, а не в других " +"функциях, вызываемых этой функцией.\n" +"Используйте для поиска отдельных функций для оптимизации." #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3628,7 +3636,6 @@ msgid "Paste" msgstr "Вставить" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "Преобразовать в %s" @@ -3679,10 +3686,9 @@ msgid "Did you forget the '_run' method?" msgstr "Быть может вы забыли метод _run()?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Зажмите Ctrl, чтобы округлить до целых. Зажмите Shift для более точных " +"Зажмите %s, чтобы округлить до целых. Зажмите Shift для более точных " "изменений." #: editor/editor_sub_scene.cpp @@ -3703,49 +3709,43 @@ msgstr "Импортировать из узла:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Открыть папку, содержащую эти шаблоны." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Удалить эти шаблоны." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "Файла «%s» не существует." +msgstr "Нет доступных зеркал." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Получение зеркал, пожалуйста, ждите..." +msgstr "Получение списка зеркал..." #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Начало загрузки..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Ошибка при запросе URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." msgstr "Подключение к зеркалу..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "Невозможно определить имя хоста:" +msgstr "Не удалось разрешить запрошенный адрес." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Не удаётся подключиться к хосту:" +msgstr "Не удалось подключиться к зеркалу." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Нет ответа от хоста:" +msgstr "Нет ответа от зеркала." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3753,18 +3753,16 @@ msgid "Request failed." msgstr "Не удалось выполнить запрос." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Запрос не прошёл, слишком много перенаправлений" +msgstr "Запрос завершился из-за циклических перенаправлений." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Не удалось выполнить запрос." +msgstr "Не удалось выполнить запрос:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Загрузка завершена; извлечение шаблонов..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3783,14 +3781,14 @@ msgid "Error getting the list of mirrors." msgstr "Ошибка при получении списка зеркал." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" -"Ошибка парсинга JSON списка зеркал. Пожалуйста, сообщите об этой проблеме!" +"Ошибка при разборе JSON со списком зеркал. Пожалуйста, сообщите об этой " +"проблеме!" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Лучшее доступное зеркало" #: editor/export_template_manager.cpp msgid "" @@ -3843,24 +3841,20 @@ msgid "SSL Handshake Error" msgstr "Ошибка рукопожатия SSH" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "Не удаётся открыть архив шаблонов экспорта." +msgstr "Не удалось открыть архив шаблонов экспорта." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "Неверный формат version.txt файла внутри шаблонов: %s." +msgstr "Неверный формат version.txt внутри файла шаблонов экспорта: %s." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "Файл version.txt не найден в шаблонах." +msgstr "Файл version.txt не найден внутри файла шаблонов экспорта." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" -msgstr "Ошибка создания пути для шаблонов:" +msgstr "Ошибка при создании пути для извлечения шаблонов:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -3871,9 +3865,8 @@ msgid "Importing:" msgstr "Импортируется:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "Удалить версию шаблона «%s»?" +msgstr "Удалить шаблоны для версии «%s»?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3889,58 +3882,65 @@ msgstr "Текущая версия:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." -msgstr "" +msgstr "Шаблоны экспорта отсутствуют. Загрузите их или установите из файла." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "Шаблоны экспорта установлены и готовы к использованию." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Открыть файл" +msgstr "Открыть папку" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." -msgstr "" +msgstr "Открывает папку, содержащую установленные шаблоны для текущей версии." #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "Удалить" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "Начальное значение для счетчика" +msgstr "Удалить шаблоны для текущей версии." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Ошибка загрузки" +msgstr "Загрузить из:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Запустить в браузере" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Копировать ошибку" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Загрузить и установить" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Загружает и устанавливает шаблоны для текущей версии с лучшего из доступных " +"зеркал." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." msgstr "Официальные шаблоны экспорта недоступны для рабочих сборок." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" msgstr "Установить из файла" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Импортировать шаблоны из ZIP файла" +msgstr "Установить шаблоны из локального файла." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3948,19 +3948,16 @@ msgid "Cancel" msgstr "Отмена" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "Не удаётся открыть архив шаблонов экспорта." +msgstr "Отменить загрузку шаблонов." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Установленные версии:" +msgstr "Другие установленные версии:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Удалить" +msgstr "Удалить шаблон" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -3975,6 +3972,9 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Шаблоны будут продолжать загружаться.\n" +"После завершения загрузки может произойти кратковременное зависание " +"редактора." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4122,35 +4122,32 @@ msgid "Collapse All" msgstr "Свернуть все" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Поиск файлов" +msgstr "Сортировать файлы" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Сортировать по имени (по возрастанию)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Сортировать по имени (по убыванию)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Сортировать по типу (по возрастанию)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Сортировать по типу (по убыванию)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Последнее изменение" +msgstr "Сортировать по последнему изменению" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Последнее изменение" +msgstr "Сортировать по первому изменению" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4162,7 +4159,7 @@ msgstr "Переименовать..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Сфокусироваться на поле поиска" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4470,14 +4467,12 @@ msgid "Failed to load resource." msgstr "Не удалось загрузить ресурс." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Свойства" +msgstr "Копировать свойства" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Свойства" +msgstr "Вставить свойства" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4502,23 +4497,20 @@ msgid "Save As..." msgstr "Сохранить как..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "Не в пути ресурсов." +msgstr "Дополнительные параметры ресурса." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Редактировать ресурс в буфере обмена" +msgstr "Редактировать ресурс из буфера обмена" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Копировать параметры" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Сделать встроенным" +msgstr "Сделать ресурс встроенным" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4533,9 +4525,8 @@ msgid "History of recently edited objects." msgstr "История недавно отредактированных объектов." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Открыть документацию" +msgstr "Открыть документацию для этого объекта." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4546,9 +4537,8 @@ msgid "Filter properties" msgstr "Фильтр свойств" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Свойства объекта." +msgstr "Управление свойствами объекта." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4793,9 +4783,8 @@ msgid "Blend:" msgstr "Смешивание:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Параметр изменён" +msgstr "Параметр изменён:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5525,11 +5514,11 @@ msgstr "Все" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Поиск шаблонов, проектов и демо" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Поиск ресурсов (исключая шаблоны, проекты и демо)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5573,7 +5562,7 @@ msgstr "ZIP файл ассетов" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Аудио превью Старт/Пауза" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5830,13 +5819,12 @@ msgstr "Изменить привязку" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" "Переопределение игровой камеры\n" -"Переопределяет игровую камеру камерой редактора viewport." +"Переопределяет игровую камеру запущенного проекта камерой viewport редактора." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5845,6 +5833,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Переопределение игровой камеры\n" +"Экземпляр проекта не запущен. Запустите проект из редактора, чтобы " +"использовать эту функцию." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5912,31 +5903,27 @@ msgstr "Режим выделения" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "Удалить выделенный узел или переход." +msgstr "Тащить: Вращать выделенный узел вокруг pivot." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Тащить: Перемещение" +msgstr "Alt+Тащить: перемещение выбранного узла." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "Удалить выделенный узел или переход." +msgstr "V: Задать положение pivot выделенного узла." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"Показывает список всех объектов нажатой позиции,\n" -"(так же как и Alt+ПКМ в режиме выделения)." +"Alt+ПКМ: Показать список всех узлов в выбранной позиции, включая " +"заблокированные." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "ПКМ: Добавить узел в выбранной позиции." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6174,14 +6161,12 @@ msgid "Clear Pose" msgstr "Очистить позу" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Добавить узел" +msgstr "Добавить узел сюда" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Дополнить сценой(ами)" +msgstr "Инстанцировать сцену сюда" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6197,49 +6182,43 @@ msgstr "Панорамировать вид" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Масштаб 3,125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Масштаб 6.25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Масштаб 12.5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Отдалить" +msgstr "Масштаб 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Отдалить" +msgstr "Масштаб 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Отдалить" +msgstr "Масштаб 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Отдалить" +msgstr "Масштаб 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Отдалить" +msgstr "Масштаб 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Отдалить" +msgstr "Масштаб 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Масштаб 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6484,9 +6463,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "Не удалось создать ни одной выпуклой формы столкновения." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "Создать одну выпуклую форму" +msgstr "Создать упрощённую выпуклую форму" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6522,9 +6500,8 @@ msgid "No mesh to debug." msgstr "Нет полисетки для отладки." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "У модели нет UV в этом слое" +msgstr "Полисетка не имеет UV в слое %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6589,9 +6566,8 @@ msgstr "" "Это самый быстрый (но наименее точный) способ обнаружения столкновений." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Создать одну выпуклую область столкновения" +msgstr "Создать соседнюю упрощённую выпуклую коллизию" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6599,20 +6575,23 @@ msgid "" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"Создает упрощенную выпуклую форму столкновения.\n" +"Она похожа на одиночную форму столкновения, но в некоторых случаях может " +"получиться более простая геометрия, ценой снижения точности." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" msgstr "Создать выпуклую область столкновения" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" "Создает форму столкновения на основе полигона.\n" -"Это средний по производительности вариант между двумя предыдущими." +"Это средний по производительности вариант между одиночным выпуклым " +"столкновением и столкновением на основе полигонов." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -7255,24 +7234,20 @@ msgid "ResourcePreloader" msgstr "Предзагрузчик ресурсов" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Перевернуть по горизонтали" +msgstr "Перевернуть порталы" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Количество создаваемых точек:" +msgstr "Точки генерации комнаты" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Количество создаваемых точек:" +msgstr "Генерировать точки" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Перевернуть по горизонтали" +msgstr "Перевернуть портал" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7836,20 +7811,17 @@ msgid "None" msgstr "Пусто" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Государство" +msgstr "Повернуть" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "Перемещение:" +msgstr "Сдвинуть" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Масштаб:" +msgstr "Масштабировать" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7872,52 +7844,44 @@ msgid "Animation Key Inserted." msgstr "Ключ анимации вставлен." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "Высота" +msgstr "Высота:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Рыскание:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Размер: " +msgstr "Размер:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "Нарисовано объектов" +msgstr "Отрисовано объектов:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "Изменения материала" +msgstr "Материалов изменено:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "Изменения шейдеров" +msgstr "Шейдеров изменено:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "Изменения поверхности" +msgstr "Поверхностей изменено:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Вызовы отрисовки" +msgstr "Вызовов отрисовки:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Вершины" +msgstr "Вершины:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "FPS: %d (%s мс)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -8072,9 +8036,8 @@ msgid "Freelook Slow Modifier" msgstr "Модификатор замедления свободного вида" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Изменить размер камеры" +msgstr "Переключить превью камеры" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8097,9 +8060,8 @@ msgstr "" "игры." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Преобразовать в %s" +msgstr "Преобразовать комнаты" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8121,7 +8083,6 @@ msgstr "" "(«рентген»)." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Привязать узлы к полу" @@ -8139,7 +8100,7 @@ msgstr "Использовать привязки" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "Преобразует комнаты для portal culling." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8235,9 +8196,8 @@ msgid "View Grid" msgstr "Отображать сетку" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Настройки окна просмотра" +msgstr "Отображать portal culling" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8559,221 +8519,196 @@ msgid "TextureRegion" msgstr "Область текстуры" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Цвет" +msgstr "Цвета" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Шрифт" +msgstr "Шрифты" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Иконка" +msgstr "Иконки" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "Стиль" +msgstr "Стили" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} цвет(ов)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "Вложенные ресурсы не найдены." +msgstr "Цвета не найдены." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "Константы" +msgstr "{num} константа(ы)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Цветовая константа." +msgstr "Константы не найдены." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} шрифт(ов)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "Не найдено!" +msgstr "Шрифты не найдены." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} иконка(ок)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "Не найдено!" +msgstr "Иконки не найдены." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} стиль(ей)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "Вложенные ресурсы не найдены." +msgstr "Стили не найдены." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} выбрано в данный момент" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "Для импорта ничего не выбрано." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "Импортировать тему" +msgstr "Импортировать элементы темы" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Импорт элементов {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Выйти из редактора?" +msgstr "Обновление редактора" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "Анализ" +msgstr "Завершение" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Фильтр: " +msgstr "Фильтр:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "С данными" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Выбрать узел" +msgstr "Выбрать по типу данных:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Выберите разделение, чтобы стереть его." +msgstr "Выбрать все видимые цвета." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "Выделить все видимые цвета и их данные." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Снять выделение со всех видимых цветов." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "Сначала выберите элемент настроек!" +msgstr "Выбрать все видимые константы." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." -msgstr "" +msgstr "Выделить все видимые константы и их данные." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "Снять выделение со всех видимых констант." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "Сначала выберите элемент настроек!" +msgstr "Выбрать все видимые шрифты." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." -msgstr "" +msgstr "Выделить все видимые шрифты и их данные." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "Снять выделение со всех видимых шрифтов." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "Сначала выберите элемент настроек!" +msgstr "Выбрать все видимые иконки." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "Сначала выберите элемент настроек!" +msgstr "Выбрать все видимые иконки и их данные." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "Сначала выберите элемент настроек!" +msgstr "Снять выделение со всех видимых иконок." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "Выделить все видимые стили." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." -msgstr "" +msgstr "Выделить все видимые стили и их данные." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "Снять выделение со всех видимых стилей." #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Внимание: Добавление данных об иконках может значительно увеличить размер " +"ресурса вашей темы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Свернуть все" +msgstr "Свернуть типы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Развернуть все" +msgstr "Развернуть типы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Выбрать файл шаблона" +msgstr "Выбрать все элементы темы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "Выбрать точки" +msgstr "Выделить с данными" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Выделить все элементы темы с их данными." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "Выделить всё" +msgstr "Снять выделение со всего" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "Снять выделение со всех элементов темы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Импортировать сцену" +msgstr "Импортировать выделенное" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8781,271 +8716,248 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"На вкладке «Импорт элементов» выбраны некоторые элементы. При закрытии этого " +"окна выбор будет потерян.\n" +"Всё равно закрыть?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "Удалить все элементы" +msgstr "Удалить все цвета" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Удалить элемент" +msgstr "Переименовать элемент" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "Удалить все элементы" +msgstr "Удалить все константы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "Удалить все элементы" +msgstr "Удалить все шрифты" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "Удалить все элементы" +msgstr "Удалить все иконки" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "Удалить все элементы" +msgstr "Удалить все стили" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "Добавить элемент класса" +msgstr "Добавить цвет" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "Добавить элемент класса" +msgstr "Добавить константу" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "Добавить элемент" +msgstr "Добавить шрифт" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "Добавить элемент" +msgstr "Добавить иконку" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "Добавить все элементы" +msgstr "Добавить стиль" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "Удалить элемент класса" +msgstr "Переименовать цвет" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "Удалить элемент класса" +msgstr "Переименовать константу" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "Переименовать узел" +msgstr "Переименовать шрифт" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "Переименовать узел" +msgstr "Переименовать иконку" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "Удалить выбранный элемент" +msgstr "Удалить стиль" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "Недопустимый файл, не раскладка аудио шины." +msgstr "Неверный файл, не ресурс темы." #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." -msgstr "" +msgstr "Недопустимый файл, так же, как и редактируемый ресурс темы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "Управление шаблонами" +msgstr "Управление элементами темы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "Редактируемый элемент" +msgstr "Редактировать элементы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Тип:" +msgstr "Типы:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Тип:" +msgstr "Добавить тип:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "Добавить элемент" +msgstr "Добавить элемент:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "Добавить все элементы" +msgstr "Добавить стиль" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "Удалить элемент" +msgstr "Удалить элементы:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" msgstr "Удалить элемент класса" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "Удалить элемент класса" +msgstr "Удалить пользовательские элементы" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" msgstr "Удалить все элементы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "Тема элементов GUI" +msgstr "Добавить элемент темы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Имя узла:" +msgstr "Старое имя:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "Импортировать тему" +msgstr "Импортировать элементы" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "По умолчанию" +msgstr "Тема по умолчанию" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Редактировать тему" +msgstr "Тема редактора" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Удалить ресурс" +msgstr "Выбрать другой ресурс темы:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "Импортировать тему" +msgstr "Другая тема" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "Переименовать дорожку" +msgstr "Подтвердить переименование элемента" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "Групповое переименование" +msgstr "Отменить переименование элемента" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Переопределить" +msgstr "Переопределить элемент" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +msgstr "Открепить этот StyleBox в качестве основного стиля." #: 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 "" +"Закрепить этот StyleBox в качестве основного стиля. При редактировании его " +"свойств будут обновлены те же свойства во всех других объектах StyleBoxes " +"этого типа." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type" -msgstr "Тип" +msgstr "Добавить тип" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "Добавить элемент" +msgstr "Добавить тип элемента" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "Тип узла" +msgstr "Типы узлов:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Загрузить по умолчанию" +msgstr "Показать по умолчанию" #: 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 "Переопределить" +msgstr "Переопределить всё" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "Переопределить все элементы типа по умолчанию." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Тема" +msgstr "Тема:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "Управление шаблонами экспорта..." +msgstr "Управление элементами..." #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "Добавление, удаление, упорядочивание и импорт элементов темы." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Предпросмотр" +msgstr "Добавить превью" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Обновить предварительный просмотр" +msgstr "Превью по умолчанию" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "Выберите источник полисетки:" +msgstr "Выбрать UI-сцену:" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Переключает средство выбора Control, позволяя визуально выбирать типы " +"Control для редактирования." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -9080,9 +8992,8 @@ msgid "Checked Radio Item" msgstr "Отмеченный переключатель" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Имен. раздел." +msgstr "Именованный разделитель" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9135,19 +9046,20 @@ msgstr "Есть,Много,Вариантов" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." msgstr "" +"Недопустимый путь, ресурс PackedScene, вероятно, был перемещен или удален." #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." msgstr "" +"Недопустимый ресурс PackedScene, он должен иметь корневой узел Control." #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "Недопустимый файл, не раскладка аудио шины." +msgstr "Неверный файл, не ресурс PackedScene." #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "Перезагрузите сцену, чтобы отразить её наиболее актуальное состояние." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10545,9 +10457,8 @@ msgid "VisualShader" msgstr "Визуальный шейдер" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "Редактировать визуальное свойство" +msgstr "Редактировать визуальное свойство:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10673,9 +10584,8 @@ msgid "Script" msgstr "Скрипт" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "Режим экспортирования скриптов:" +msgstr "Режим экспорта GDScript:" #: editor/project_export.cpp msgid "Text" @@ -10683,22 +10593,20 @@ msgstr "Текстовый" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "Скомпилированный байткод (более быстрая загрузка)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "Зашифрованный (Напишите ключ ниже)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" msgstr "" -"Недействительный ключ шифрования (длина ключа должна составлять 64 символа)" +"Неверный ключ шифрования (должен состоять из 64 шестнадцатеричных символов)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Ключ шифрования скрипта (256-бит, в шестнадцатеричном виде):" +msgstr "Ключ шифрования GDScript (256 бит, в шестнадцатеричном виде):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10770,7 +10678,6 @@ msgid "Imported Project" msgstr "Импортированный проект" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Недопустимое имя проекта." @@ -10996,14 +10903,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "Вы уверены, что хотите запустить %d проектов одновременно?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Выберите устройство из списка" +msgstr "Удалить %d проектов из списка?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Выберите устройство из списка" +msgstr "Удалить этот проект из списка?" #: editor/project_manager.cpp msgid "" @@ -11035,9 +10940,8 @@ msgid "Project Manager" msgstr "Менеджер проектов" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Проекты" +msgstr "Локальные проекты" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11048,23 +10952,20 @@ msgid "Last Modified" msgstr "Последнее изменение" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Экспортировать проект" +msgstr "Редактировать проект" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Переименовать проект" +msgstr "Запустить проект" #: editor/project_manager.cpp msgid "Scan" msgstr "Сканировать" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "Проекты" +msgstr "Сканировать проекты" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -11075,12 +10976,10 @@ msgid "New Project" msgstr "Новый проект" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Импортированный проект" +msgstr "Импортировать проект" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" msgstr "Переименовать проект" @@ -11093,9 +10992,8 @@ msgid "About" msgstr "О Godot Engine" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "Библиотека ресурсов" +msgstr "Проекты Библиотеки ресурсов" #: editor/project_manager.cpp msgid "Restart Now" @@ -11107,7 +11005,7 @@ msgstr "Удалить все" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "Также удалить содержимое проекта (нельзя отменить!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11122,18 +11020,16 @@ msgstr "" "Хотите изучить официальные примеры в Библиотеке ресурсов?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Фильтр свойств" +msgstr "Фильтр проектов" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" -"Поле поиска фильтрует проекты по имени и последнему компоненту пути\n" +"Это поле фильтрует проекты по имени и последнему компоненту пути.\n" "Чтобы отфильтровать проекты по имени и полному пути, запрос должен содержать " "хотя бы один символ `/`." @@ -11143,7 +11039,7 @@ msgstr "Клавиша " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "Физическая клавиша" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -11191,7 +11087,7 @@ msgstr "Устройство" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (Физическая)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11334,23 +11230,20 @@ msgid "Override for Feature" msgstr "Переопределение свойства" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Добавить перевод" +msgstr "Добавить %d переводов" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "Удалить перевод" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Перенаправлен ресурс перенаправления" +msgstr "Переназначение ресурсов перевода: Добавить %d путь(ей)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Перенаправлен ресурс перенаправления" +msgstr "Переназначение ресурсов перевода: Добавить %d переназначение(ий)" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11766,7 +11659,7 @@ msgstr "Узел должен принадлежать редактируемо #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "Инстанцированные сцены не могут стать корневыми" +msgstr "Инстанцированные сцены не могут стать корнем" #: editor/scene_tree_dock.cpp msgid "Make node as Root" @@ -11796,12 +11689,16 @@ msgstr "Удалить узел «%s»?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Для сохранения ветки как сцены необходимо, чтобы сцена была открыта в " +"редакторе." #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." msgstr "" +"Для сохранения ветви как сцены требуется выбрать только один узел, но вы " +"выбрали %d узлов." #: editor/scene_tree_dock.cpp msgid "" @@ -11810,6 +11707,12 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"Невозможно сохранить ветку корневого узла в качестве инстанцированной " +"сцены.\n" +"Чтобы создать редактируемую копию текущей сцены, продублируйте её с помощью " +"контекстного меню панели «Файловая система»\n" +"или создайте унаследованную сцену, используя вместо этого Сцена > Новая " +"унаследованная сцена..." #: editor/scene_tree_dock.cpp msgid "" @@ -11817,6 +11720,10 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"Невозможно сохранить ветку уже инстанцированной сцены.\n" +"Чтобы создать вариант сцены, вы можете создать унаследованную сцену на " +"основе инстанцированной сцены, используя вместо этого Сцена > Новая " +"унаследованная сцена..." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12225,6 +12132,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Предупреждение: Обычно нежелательно, чтобы имя скрипта совпадало с именем " +"встроенного типа." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12296,7 +12205,7 @@ msgstr "Копировать ошибку" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "Открытый исходный код C++ на GitHub" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12475,6 +12384,16 @@ msgstr "Изменить высоту цилиндра" msgid "Change Ray Shape Length" msgstr "Изменить длину луча" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Установить положение точки кривой" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Установить положение точки кривой" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Изменить радиус цилиндра" @@ -12585,14 +12504,12 @@ msgid "Object can't provide a length." msgstr "Объект не может предоставить длину." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "Экспортировать библиотеку полисеток" +msgstr "Экспорт полисетки GLTF2" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Экспортировать..." +msgstr "Экспорт GLTF..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12624,20 +12541,19 @@ msgstr "Удалить выделенную сетку" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Fill Selection" -msgstr "Залить выделенную GridMap" +msgstr "Залить выделенную сетку" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paste Selection" -msgstr "Вставка выделенной сетки" +msgstr "Вставить выделенную сетку" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" msgstr "Рисование сетки" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "Залить выделенную GridMap" +msgstr "Выделение сетки" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12653,11 +12569,11 @@ msgstr "Отключить обрезку" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "Отрезать сверху" +msgstr "Обрезать сверху" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "Отрезать снизу" +msgstr "Обрезать снизу" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" @@ -12889,14 +12805,12 @@ msgid "Add Output Port" msgstr "Добавить выходной порт" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Изменить тип" +msgstr "Изменить тип порта" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Изменить имя входного порта" +msgstr "Изменить имя порта" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -13011,9 +12925,8 @@ msgid "Add Preload Node" msgstr "Добавить предзагрузочный узел" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" -msgstr "Добавить узел" +msgstr "Добавить узел(узлы)" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -13276,37 +13189,31 @@ msgstr "Выберите устройство из списка" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "Выполняется на %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Экспорт всех" +msgstr "Экспорт APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Удалить" +msgstr "Удаление..." #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Загрузка, пожалуйста, ждите..." +msgstr "Установка на устройство, пожалуйста, ждите..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "Не возможно добавить сцену!" +msgstr "Не удалось установить на устройство: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "Запуск пользовательского скрипта..." +msgstr "Запуск на устройстве..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "Невозможно создать папку." +msgstr "Не удалось выполнить на устройстве." #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13431,40 +13338,37 @@ msgid "" "directory.\n" "The resulting %s is unsigned." msgstr "" +"Не удалось найти команду «apksigner».\n" +"Пожалуйста, проверьте наличие программы в каталоге Android SDK build-tools.\n" +"Результат %s не подписан." #: platform/android/export/export.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "Подписание отладочного %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"Сканирование файлов,\n" -"пожалуйста, ждите..." +msgstr "Подписание релиза %s..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "Не удалось открыть шаблон для экспорта:" +msgstr "Не удалось найти хранилище ключей, невозможно экспортировать." #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "«apksigner» завершился с ошибкой #%d" #: platform/android/export/export.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "Добавление %s..." +msgstr "Проверка %s..." #: platform/android/export/export.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "Проверка «apksigner» «%s» не удалась." #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "Экспорт всех" +msgstr "Экспорт для Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13480,7 +13384,7 @@ msgstr "Неверное имя файла! Android APK требует расш #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "Неподдерживаемый формат экспорта!\n" #: platform/android/export/export.cpp msgid "" @@ -13506,16 +13410,15 @@ msgstr "" msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" msgstr "" +"Невозможно перезаписать файлы res://android/build/res/*.xml с именем проекта" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "Отсутствует project.godot в папке проекта." +msgstr "Не удалось экспортировать файлы проекта в проект gradle\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "Не удалось записать файл:" +msgstr "Не удалось записать расширение файла пакета!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13543,21 +13446,20 @@ msgstr "" "проекта gradle на наличие выходных данных." #: platform/android/export/export.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "Анимация не найдена: %s" +msgstr "Пакет не найден: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "Создание контуров..." +msgstr "Создание APK..." #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "Не удалось открыть шаблон для экспорта:" +msgstr "" +"Не удалось найти шаблон APK для экспорта:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13566,16 +13468,17 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"В шаблоне экспорта отсутствуют библиотеки для выбранных архитектур: %s.\n" +"Пожалуйста, создайте шаблон со всеми необходимыми библиотеками или снимите " +"флажки с отсутствующих архитектур в пресете экспорта." #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "Добавление %s..." +msgstr "Добавление файлов..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "Не удалось записать файл:" +msgstr "Не удалось экспортировать файлы проекта" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13583,7 +13486,7 @@ msgstr "Выравнивание APK..." #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "Не удалось распаковать временный невыровненный APK." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13630,45 +13533,40 @@ msgid "Could not write file:" msgstr "Не удалось записать файл:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "Не удалось записать файл:" +msgstr "Не удалось прочитать файл:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "Не удалось прочитать пользовательскую HTML оболочку:" +msgstr "Не удалось прочитать HTML-оболочку:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "Невозможно создать папку." +msgstr "Не удалось создать каталог HTTP-сервера:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Ошибка сохранения сцены." +msgstr "Ошибка запуска HTTP-сервера:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "Неверный идентификатор:" +msgstr "Неверный идентификатор пакета:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "Предупреждение: требуется подписание кода." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "Предупреждение: требуется усиленный рантайм." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "Предупреждение: имя Apple ID не указано." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "Предупреждение: пароль Apple ID не указан." #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -14102,6 +14000,9 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"Свойство GIProbe Compress было объявлено устаревшим из-за известных ошибок и " +"больше не имеет никакого эффекта.\n" +"Чтобы убрать это предупреждение, отключите свойство Compress в GIProbe." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14187,15 +14088,15 @@ msgstr "Узел А и Узел В должны быть различными о #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." -msgstr "" +msgstr "RoomManager не должен быть ребёнком или внуком Portal." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Room не должен быть ребёнком или внуком Portal." #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." -msgstr "" +msgstr "RoomGroup не должен быть ребёнком или внуком Portal." #: scene/3d/remote_transform.cpp msgid "" @@ -14207,42 +14108,83 @@ msgstr "" #: scene/3d/room.cpp msgid "A Room cannot have another Room as a child or grandchild." -msgstr "" +msgstr "Room не должен быть ребёнком или внуком другого Room." #: scene/3d/room.cpp msgid "The RoomManager should not be placed inside a Room." -msgstr "" +msgstr "RoomManager не должен располагаться внутри Room." #: scene/3d/room.cpp msgid "A RoomGroup should not be placed inside a Room." -msgstr "" +msgstr "RoomGroup не должен располагаться внутри Room." #: scene/3d/room.cpp msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"Выпуклый корпус комнаты содержит большое количество плоскостей.\n" +"Рассмотрите возможность упрощения границы комнаты для повышения " +"производительности." #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." -msgstr "" +msgstr "RoomManager не должен располагаться внутри RoomGroup." #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "RoomList не был назначен." #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." -msgstr "" +msgstr "Узел RoomList должен быть Spatial (или унаследован от Spatial)." #: scene/3d/room_manager.cpp msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"Portal Depth Limit установлено на ноль.\n" +"Будет отрисовываться только комната, в которой находится камера." #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." +msgstr "В SceneTree должен быть только один RoomManager." + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." msgstr "" #: scene/3d/soft_body.cpp @@ -14309,7 +14251,7 @@ msgstr "Анимация не найдена: %s" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "Анимация - Применить сброс" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14484,25 +14426,28 @@ msgid "Invalid comparison function for that type." msgstr "Неверная функция сравнения для этого типа." #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "Изменения могут быть назначены только в функции вершины." +msgstr "Varying не может быть задано в функции «%s»." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" +"Varying, заданные в функции «vertex», не могут быть изменены в «fragment» " +"или «light»." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" +"Varying, заданные в функции «fragment», не могут быть изменены в «vertex» " +"или «light»." #: servers/visual/shader_language.cpp msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" +msgstr "Varying стадии fragment не доступны из пользовательских функций!" #: servers/visual/shader_language.cpp msgid "Assignment to function." @@ -15507,9 +15452,6 @@ msgstr "Константы не могут быть изменены." #~ msgid "I see..." #~ msgstr "Ясно..." -#~ msgid "Can't open '%s'." -#~ msgstr "Не удаётся открыть '%s'." - #~ msgid "Ugh" #~ msgstr "Ясно" diff --git a/editor/translations/si.po b/editor/translations/si.po index 94841d0879..595e0041a9 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -348,6 +348,7 @@ msgstr "සජීවීකරණ පුනරාවර්ථනය" msgid "Remove Anim Track" msgstr "Anim ලුහුබදින්නා ඉවත් කරන්න" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s සදහා නව ලුහුබදින්නෙත් සාදා යතුරක් ඇතුලත් කරන්න?" @@ -372,10 +373,27 @@ msgstr "සාදන්න" msgid "Anim Insert" msgstr "Anim ඇතුලත් කරන්න" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "ශ්රිත:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "සජීවීකරණ ධාවකය තමාටම සජීවීකරණය කල නොහැක, අනෙක් ධාවක පමණි." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "ලක්ෂණය ලුහුබදින්න" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim සාදන්න සහ ඇතුලත් කරන්න" @@ -942,7 +960,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2237,6 +2255,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3017,10 +3046,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "අඛණ්ඩව" @@ -3627,6 +3652,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8341,6 +8374,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8367,6 +8406,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11809,6 +11854,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13418,6 +13471,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 6deda77711..54736cff85 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -346,6 +346,7 @@ msgstr "Zmeniť Loop Mode Animacie" msgid "Remove Anim Track" msgstr "Vymazať Track Animácie" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Vytvoriť NOVÝ track za %s a vložiť kľúč?" @@ -370,10 +371,27 @@ msgstr "Vytvoriť" msgid "Anim Insert" msgstr "Animácia Vložiť" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animácie" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer nemôže animovať sám seba, iba ostatný hráči." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Vlastnosť" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animácia Vytvoriť & Vložiť" @@ -945,7 +963,7 @@ msgstr "Vytvoriť Nový %s" msgid "No results for \"%s\"." msgstr "Žiadne výsledky pre \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2295,6 +2313,17 @@ msgid "New Window" msgstr "Nové Okno" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Otáča sa, keď sa okno editora redistribuuje." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Importované zdroje nemôžu byť uložené." @@ -3150,10 +3179,6 @@ msgid "Save & Restart" msgstr "Uložiť & Reštartovať" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Otáča sa, keď sa okno editora redistribuuje." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Aktualizovať priebežne" @@ -3812,6 +3837,15 @@ msgid "Download from:" msgstr "Chyba Sťahovania" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Otvoriť v File Manažérovy" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8677,6 +8711,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Všetky vybrané" @@ -8707,6 +8747,12 @@ msgid "Remove All StyleBox Items" msgstr "Všetky vybrané" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Pridať do Obľúbených" @@ -12299,6 +12345,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Všetky vybrané" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Všetky vybrané" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13978,6 +14034,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 53b4bca499..725f88f0ab 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -369,6 +369,7 @@ msgstr "Spremeni Zanko Animacije" msgid "Remove Anim Track" msgstr "Odstrani animacijsko sled" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Ustvarim NOVO sled za %s in vstavi ključ?" @@ -393,10 +394,28 @@ msgstr "Ustvari" msgid "Anim Insert" msgstr "Vstavi Animacijo" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Način Zaskoka (%s)" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacija" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Lastnosti" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Ustvari & Vstavi Animacijo" @@ -998,7 +1017,7 @@ msgstr "Ustvari Nov %s" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2397,6 +2416,18 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +#, fuzzy +msgid "Spins when the editor window redraws." +msgstr "Vrti se ob spremembi okna urejevalnika!" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3270,11 +3301,6 @@ msgstr "Shrani & Zapri" #: editor/editor_node.cpp #, fuzzy -msgid "Spins when the editor window redraws." -msgstr "Vrti se ob spremembi okna urejevalnika!" - -#: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" msgstr "Neprekinjeno" @@ -3922,6 +3948,15 @@ msgid "Download from:" msgstr "Napaka Pri Prenosu" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Pokaži V Upravitelju Datotek" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8959,6 +8994,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Odstrani Vse Stvari" @@ -8989,6 +9030,12 @@ msgid "Remove All StyleBox Items" msgstr "Odstrani Vse Stvari" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Priljubljene:" @@ -12643,6 +12690,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Nastavi Položaj Krivuljne Točke" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Nastavi Položaj Krivuljne Točke" + #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" @@ -14339,6 +14396,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -14856,9 +14949,6 @@ msgstr "Konstante ni možno spreminjati." #~ msgid "Scale Mode (R)" #~ msgstr "Način Obsega (R)" -#~ msgid "Snap Mode (%s)" -#~ msgstr "Način Zaskoka (%s)" - #~ msgid "Tool Select" #~ msgstr "Izbira Orodja" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index f843d97c4e..ded08d5532 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -342,6 +342,7 @@ msgstr "Ndrysho Metodën e Përsëritjes së Animacionit" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -366,10 +367,27 @@ msgstr "Krijo" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animacionet:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Vetitë:" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -938,7 +956,7 @@ msgstr "Krijo %s të ri" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2330,6 +2348,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Rrotullohet kur dritarja e editorit rivizaton." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Resurset e importuara nuk mund të ruhen." @@ -3207,10 +3236,6 @@ msgid "Save & Restart" msgstr "Ruaj & Rifillo" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Rrotullohet kur dritarja e editorit rivizaton." - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "I Vazhdueshëm" @@ -3863,6 +3888,15 @@ msgid "Download from:" msgstr "Shkarko" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Hap në Menaxherin e Skedarëve" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8684,6 +8718,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Hiq Autoload-in" @@ -8714,6 +8754,12 @@ msgid "Remove All StyleBox Items" msgstr "Hiq Autoload-in" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Shto te të preferuarat" @@ -12247,6 +12293,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13891,6 +13945,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index f95781bd70..0a915e03bf 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -382,6 +382,7 @@ msgstr "Промени циклус анимације" msgid "Remove Anim Track" msgstr "Обриши траку анимације" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Направите нову траку за %s и убаците кључ?" @@ -406,11 +407,29 @@ msgstr "Направи" msgid "Anim Insert" msgstr "Налепи" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Режим лепљења:" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Анимација" + #: editor/animation_track_editor.cpp #, fuzzy msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer не може сам себе да анимира, само друге плејере." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Особина %s' не постоји." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Направи анимацију и убаци" @@ -1051,7 +1070,7 @@ msgstr "Направи нов" msgid "No results for \"%s\"." msgstr "Нема резултата за \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2502,6 +2521,18 @@ msgid "New Window" msgstr "Нов Прозор" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +#, fuzzy +msgid "Spins when the editor window redraws." +msgstr "Окрене се кад се едиторски прозор поново обоји!" + +#: editor/editor_node.cpp #, fuzzy msgid "Imported resources can't be saved." msgstr "Увезени ресурси не могу бити упамћени." @@ -3397,11 +3428,6 @@ msgstr "Сачувај и изађи" #: editor/editor_node.cpp #, fuzzy -msgid "Spins when the editor window redraws." -msgstr "Окрене се кад се едиторски прозор поново обоји!" - -#: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" msgstr "Трајан" @@ -4106,6 +4132,16 @@ msgid "Download from:" msgstr "Грешка при преузимању" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Покрени у Претраживачу" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Копирај Грешку" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -9423,6 +9459,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Обриши све ставке" @@ -9453,6 +9495,12 @@ msgid "Remove All StyleBox Items" msgstr "Обриши све ставке" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Додај ставке класе" @@ -13751,6 +13799,16 @@ msgstr "Промени Висину Цилиндар Облика" msgid "Change Ray Shape Length" msgstr "Промени Дужину Зрак Облика" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Постави позицију тачке криве" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Постави позицију тачке криве" + #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" @@ -15695,6 +15753,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp #, fuzzy msgid "This body will be ignored until you set a mesh." @@ -16456,10 +16550,6 @@ msgstr "Константе није могуће мењати." #~ msgid "Local Coords" #~ msgstr "Локалне координате" -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Режим лепљења:" - #~ msgid "Tool Select" #~ msgstr "Избор алатки" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 877149b6ea..76982c0b00 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -356,6 +356,7 @@ msgstr "Optimizuj Animaciju" msgid "Remove Anim Track" msgstr "Odstrani Kanal Animacije" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Napravi Novi kanal za %s i dodaj ključ?" @@ -380,10 +381,26 @@ msgstr "Napravi" msgid "Anim Insert" msgstr "Animacija Umetni" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Optimizuj Animaciju" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animacija Napravi i Dodaj" @@ -950,7 +967,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2250,6 +2267,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3033,10 +3061,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Neprekidna" @@ -3646,6 +3670,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8405,6 +8437,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8432,6 +8470,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11915,6 +11959,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13530,6 +13582,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 7433664d25..373e3aad36 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -14,7 +14,7 @@ # Mattias Münster <mattiasmun@gmail.com>, 2019. # Anonymous <noreply@weblate.org>, 2020. # Joakim Lundberg <joakim@joakimlundberg.com>, 2020. -# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020. +# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020, 2021. # Jonas Robertsson <jonas.robertsson@posteo.net>, 2020, 2021. # André Andersson <andre.eric.andersson@gmail.com>, 2020. # Andreas Westrell <andreas.westrell@gmail.com>, 2020. @@ -27,8 +27,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-13 06:13+0000\n" -"Last-Translator: Leon <joel.lundborg@gmail.com>\n" +"PO-Revision-Date: 2021-08-10 21:40+0000\n" +"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -36,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.7.2-dev\n" +"X-Generator: Weblate 4.8-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -357,6 +357,7 @@ msgstr "Ändra Animationsslingläge" msgid "Remove Anim Track" msgstr "Ta bort Anim spår" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Skapa NYTT spår för %s och infoga nyckel?" @@ -381,11 +382,29 @@ msgstr "Skapa" msgid "Anim Insert" msgstr "Anim Infoga" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Kan inte öppna '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animation" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "Animationsspelaren kan inte animera sig själv, utan bara andra spelare." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Egenskaper" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Anim Skapa & Infoga" @@ -473,7 +492,7 @@ msgstr "Anim Flytta Nycklar" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" -msgstr "" +msgstr "Klippbordet är tomt!" #: editor/animation_track_editor.cpp msgid "Paste Tracks" @@ -943,9 +962,8 @@ msgid "Edit..." msgstr "Ändra..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" -msgstr "Gå Till Metod" +msgstr "Gå till metod" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -963,9 +981,9 @@ msgstr "Skapa Ny %s" msgid "No results for \"%s\"." msgstr "Inga resultat för \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Ingen beskrivning tillgänglig för %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1075,7 +1093,6 @@ msgstr "" "Du kan hitta de borttagna filerna i systemets papperskorg." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1083,9 +1100,10 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Filerna som tas bort krävs av andra resurser för att de ska fungera.\n" -"Ta bort dem ändå? (går inte ångra)\n" -"Du kan hitta de borttagna filerna i systemets papperskorg." +"Filerna som ska tas bort krävs av andra resurser för att de ska fungera.\n" +"Ta bort dem ändå? (Går inte ångra.)\n" +"Beroende på hur ditt filsystem är inställt så kommer filerna antingen " +"flyttas till systemets papperskorg eller tas bort permanent." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1260,9 +1278,8 @@ msgid "Error opening asset file for \"%s\" (not in ZIP format)." msgstr "Fel vid öppning av paketetfil, inte i zip-format." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Existerar Redan)" +msgstr "%s (existerar redan)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" @@ -1282,9 +1299,8 @@ msgid "The following files failed extraction from asset \"%s\":" msgstr "Följande filer misslyckades att packas upp från paketet:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "%d fler filer." +msgstr "(och %s fler filer)" #: editor/editor_asset_installer.cpp #, fuzzy @@ -1534,9 +1550,8 @@ msgid "Can't add autoload:" msgstr "Kunde inte lägga till autoladdning:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Fil existerar inte." +msgstr "%s är en ogiltig genväg. Filen existerar inte." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." @@ -1564,9 +1579,8 @@ msgid "Name" msgstr "Namn" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Variabel" +msgstr "Global variabel" #: editor/editor_data.cpp msgid "Paste Params" @@ -1663,22 +1677,20 @@ msgstr "" "Fallback Enabled'." #: editor/editor_export.cpp -#, fuzzy msgid "" "Target platform requires 'PVRTC' texture compression for GLES2. Enable " "'Import Pvrtc' in Project Settings." msgstr "" -"Målplattformen kräver 'ETC' texturkomprimering för GLES2. Aktivera 'Import " -"Etc' i Projektinställningarna." +"Målplattformen kräver 'PVRTC'-texturkomprimering för GLES2. Aktivera 'Import " +"Pvrtc' i projektinställningarna." #: editor/editor_export.cpp -#, fuzzy msgid "" "Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " "Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." msgstr "" -"Målplattformen kräver 'ETC2' texturkomprimering för GLES3. Aktivera 'Import " -"Etc 2' i Projektinställningarna." +"Målplattformen kräver 'ETC2' eller 'PVRTC'-texturkomprimering för GLES3. " +"Aktivera 'Import Etc 2' eller 'Import Pvrtc' i projektinställningarna." #: editor/editor_export.cpp msgid "" @@ -1742,11 +1754,11 @@ msgstr "Importera" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Tillåter att visa och redigera 3D-scener." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Tillåter att redigera skript via den integrerade skript-redigeraren." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." @@ -2341,6 +2353,17 @@ msgid "New Window" msgstr "Nytt Fönster" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Importerade resurser kan inte sparas." @@ -3198,10 +3221,6 @@ msgid "Save & Restart" msgstr "Spara & Avsluta" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "Kontinuerlig" @@ -3844,6 +3863,16 @@ msgid "Download from:" msgstr "Ladda ner" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Kör i Webbläsare" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Fel" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -6348,7 +6377,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "" +msgstr "Platt 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -8789,6 +8818,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Ta bort Alla" @@ -8819,6 +8854,12 @@ msgid "Remove All StyleBox Items" msgstr "Ta bort Alla" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Lägg till i Favoriter" @@ -12425,6 +12466,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -14103,6 +14152,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -14878,9 +14963,6 @@ msgstr "" #~ msgid "I see..." #~ msgstr "Jag förstår..." -#~ msgid "Can't open '%s'." -#~ msgstr "Kan inte öppna '%s'." - #, fuzzy #~ msgid "Ugh" #~ msgstr "Ugh" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 5b4e249318..2ad954b971 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -355,6 +355,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "அசைவூட்டு பாதையை நீக்கு" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -379,10 +380,26 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "மாற்றங்களை இதற்கு அமை:" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -945,7 +962,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2241,6 +2258,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3022,10 +3050,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3633,6 +3657,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8343,6 +8375,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8370,6 +8408,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11815,6 +11859,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13423,6 +13475,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/te.po b/editor/translations/te.po index 6a4e076543..74998009cd 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -338,6 +338,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -362,10 +363,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -920,7 +936,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2211,6 +2227,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2991,10 +3018,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3599,6 +3622,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8276,6 +8307,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8300,6 +8337,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11708,6 +11751,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13302,6 +13353,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index ce5e4952f1..231051313a 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -356,6 +356,7 @@ msgstr "เปลี่ยนโหมดการวนซ้ำแอนิเ msgid "Remove Anim Track" msgstr "ลบแทร็กแอนิเมชัน" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "เพิ่มแทร็กใหม่สำหรับ %s และเพิ่มคีย์?" @@ -380,10 +381,28 @@ msgstr "สร้าง" msgid "Anim Insert" msgstr "แทรกแอนิเมชัน" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "เปิด '%s' ไม่ได้" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "แอนิเมชัน" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "ตัวเล่นอนิเมชั่นไม่สามารถเล่นอนิเมชั่นด้วยตัวมันเองได้ เล่นได้เฉพาะตัวเล่นอื่นเท่านั้น" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "ไม่พบคุณสมบัติ '%s'" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "สร้างและแทรกแอนิเมชัน" @@ -954,7 +973,7 @@ msgstr "สร้าง %s ใหม่" msgid "No results for \"%s\"." msgstr "ไม่มีผลลัพธ์สำหรับ \"%s\"" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2290,6 +2309,17 @@ msgid "New Window" msgstr "หน้าต่างใหม่" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "หมุนเมื่อมีการวาดหน้าต่างโปรแกรมใหม" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "ทรัพยากรที่นำเข้ามา ไม่สามารถบันทึกได้" @@ -3122,10 +3152,6 @@ msgid "Save & Restart" msgstr "บันทึกและเริ่มใหม่" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "หมุนเมื่อมีการวาดหน้าต่างโปรแกรมใหม" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "อัพเดทอย่างต่อเนื่อง" @@ -3776,6 +3802,16 @@ msgid "Download from:" msgstr "ดาวน์โหลดผิดพลาด" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "รันในเบราเซอร์" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "คัดลอกผิดพลาด" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8592,6 +8628,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "ลบทั้งหมด" @@ -8622,6 +8664,12 @@ msgid "Remove All StyleBox Items" msgstr "ลบทั้งหมด" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "เพิ่มไอเทมคลาส" @@ -12217,6 +12265,16 @@ msgstr "ปรับความสูงทรงแคปซูล" msgid "Change Ray Shape Length" msgstr "ปรับความยาวรังสี" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "กำหนดพิกัดจุดเส้นโค้ง" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "กำหนดพิกัดจุดเส้นโค้ง" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "ปรับรัศมีทรงกระบอก" @@ -13909,6 +13967,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "วัตถุนี้จะถูกละเว้นจนกว่าจะตั้ง mesh" @@ -15120,9 +15214,6 @@ msgstr "ค่าคงที่ไม่สามารถแก้ไขได #~ msgid "I see..." #~ msgstr "ตกลง..." -#~ msgid "Can't open '%s'." -#~ msgstr "เปิด '%s' ไม่ได้" - #~ msgid "Ugh" #~ msgstr "เออะ" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 8a735113cc..69a7ef73a2 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -395,6 +395,7 @@ msgstr "Animasyon Döngü Kipini Değiştir" msgid "Remove Anim Track" msgstr "Animasyon İzini Kaldır" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "%s için YENİ iz oluştur ve anahtar gir?" @@ -419,11 +420,29 @@ msgstr "Oluştur" msgid "Anim Insert" msgstr "Animasyon Ekle" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "'%s' açılamıyor." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Animasyon" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" "Animasyon Oynatıcısı kendisini oynatamaz, sadece diğer oynatıcılar yapabilir." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "'%s' özelliği mevcut değil." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Animasyon Oluştur & Ekle" @@ -999,7 +1018,7 @@ msgstr "Yeni %s Oluştur" msgid "No results for \"%s\"." msgstr "\"%s\" için sonuç yok." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2350,6 +2369,17 @@ msgid "New Window" msgstr "Yeni Pencere" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Düzenleyici penceresi yeniden boyandığında döner." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "İçe aktarılmış kaynaklar kaydedilemez." @@ -3212,10 +3242,6 @@ msgid "Save & Restart" msgstr "Kaydet ve Baştan Başlat" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Düzenleyici penceresi yeniden boyandığında döner." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Sürekli Güncelle" @@ -3878,6 +3904,16 @@ msgid "Download from:" msgstr "İndirme Hatası" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Tarayıcıda Çalıştır" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Hatayı Kopyala" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8740,6 +8776,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Bütün Öğeleri Kaldır" @@ -8770,6 +8812,12 @@ msgid "Remove All StyleBox Items" msgstr "Bütün Öğeleri Kaldır" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Sınıf Öğeleri Ekle" @@ -12426,6 +12474,16 @@ msgstr "Silindir Şekli Yüksekliğini Değiştir" msgid "Change Ray Shape Length" msgstr "Işın Şeklinin Uzunluğunu Değiştir" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Eğri Noktası Konumu Ayarla" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Eğri Noktası Konumu Ayarla" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Silindir Yarıçapını Değiştir" @@ -14194,6 +14252,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "Bir model ayarlanana kadar bu gövde yok sayılır." @@ -15449,9 +15543,6 @@ msgstr "Sabit değerler değiştirilemez." #~ msgid "I see..." #~ msgstr "Anlıyorum..." -#~ msgid "Can't open '%s'." -#~ msgstr "'%s' açılamıyor." - #~ msgid "Ugh" #~ msgstr "Öff" diff --git a/editor/translations/tt.po b/editor/translations/tt.po index 4ff5555363..e7b37069b7 100644 --- a/editor/translations/tt.po +++ b/editor/translations/tt.po @@ -338,6 +338,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -362,10 +363,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -920,7 +936,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2211,6 +2227,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2990,10 +3017,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3598,6 +3621,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8275,6 +8306,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8299,6 +8336,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11706,6 +11749,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13300,6 +13351,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po index 7d41f508ee..8c7d3f272c 100644 --- a/editor/translations/tzm.po +++ b/editor/translations/tzm.po @@ -336,6 +336,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -360,10 +361,25 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -918,7 +934,7 @@ msgstr "" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2209,6 +2225,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -2988,10 +3015,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3596,6 +3619,14 @@ msgid "Download from:" msgstr "" #: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8273,6 +8304,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" msgstr "" @@ -8297,6 +8334,12 @@ msgid "Remove All StyleBox Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" msgstr "" @@ -11704,6 +11747,14 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13298,6 +13349,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index adccdfd91f..a889e83e19 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-08-02 02:00+0000\n" -"Last-Translator: IllusiveMan196 <hamsterrv@gmail.com>\n" +"PO-Revision-Date: 2021-08-04 12:10+0000\n" +"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" "Language: uk\n" @@ -356,6 +356,7 @@ msgstr "Змінити режим циклу анімації" msgid "Remove Anim Track" msgstr "Видалити доріжку" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Створити нову доріжку для %s і вставити ключ?" @@ -380,10 +381,28 @@ msgstr "Створити" msgid "Anim Insert" msgstr "Вставити анімацію" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "Неможливо відкрити '%s'." + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Анімація" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer не може анімувати себе, лише інших відтворювачів." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Властивості «%s» не існує." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Створити і вставити анімацію" @@ -596,9 +615,8 @@ msgid "Go to Previous Step" msgstr "До попереднього кроку" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "Скинути" +msgstr "Застосувати скидання" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -617,9 +635,8 @@ msgid "Use Bezier Curves" msgstr "Використовувати криві Безьє" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Вставити доріжки" +msgstr "Створити доріжки RESET" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -944,7 +961,6 @@ msgid "Edit..." msgstr "Змінити…" #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "Перейти до методу" @@ -964,9 +980,9 @@ msgstr "Створити новий %s" msgid "No results for \"%s\"." msgstr "Нічого не знайдено для «%s»." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Немає опису для %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1066,17 +1082,16 @@ msgid "Owners Of:" msgstr "Власники:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" "Вилучити позначені файли з проєкту? (без можливості скасувати)\n" -"Вилучені файли можна буде знайти і відновити у теці смітника системи." +"Залежно від конфігурації вашої файлової системи, вилучені файли буде або " +"пересунуто до теки смітника, або вилучено остаточно." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1087,7 +1102,8 @@ msgstr "" "Файли, які ви вилучаєте, потрібні для забезпечення працездатності інших " "ресурсів.\n" "Вилучити їх попри це? (без скасування)\n" -"Вилучені файли можна знайти і відновити у теці смітника системи." +"Залежно від конфігурації вашої файлової системи, вилучені файли буде або " +"пересунуто до теки смітника, або вилучено остаточно." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1257,41 +1273,37 @@ msgid "Licenses" msgstr "Ліцензії" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Помилка під час спроби відкрити файл пакунка (дані не у форматі ZIP)." +msgstr "" +"Помилка під час спроби відкрити файл пакунка для «%s» (не у форматі ZIP)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s (вже існує)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "Вміст пакунка «%s» — конфлікт %d файлів із вашим проєктом:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "Вміст пакунка «%s» — немає конфліктів файлів із вашим проєктом:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Розпаковування ресурсів" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "Не вдалося видобути такі файли з пакунка:" +msgstr "Не вдалося видобути з пакунка «%s» такі файли:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "І ще %s файлів." +msgstr "(і ще %s файлів)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Пакунок успішно встановлено!" +msgstr "Пакунок «%s» успішно встановлено!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1303,9 +1315,8 @@ msgid "Install" msgstr "Встановити" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "Встановлювач пакета" +msgstr "Встановлювач пакукнків" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1368,9 +1379,8 @@ msgid "Bypass" msgstr "Обхід" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" -msgstr "Опції шини" +msgstr "Параметри шини" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1536,13 +1546,12 @@ msgid "Can't add autoload:" msgstr "Не вдалося додати автозавантаження:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "Файл не існує." +msgstr "%s не є коректним шляхом. Файла не існує." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s є некоректним шляхом. Його немає у шляху ресурсів (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1566,9 +1575,8 @@ msgid "Name" msgstr "Назва" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Змінна" +msgstr "Загальна змінна" #: editor/editor_data.cpp msgid "Paste Params" @@ -1724,7 +1732,7 @@ msgstr "Редактор скриптів" #: editor/editor_feature_profile.cpp msgid "Asset Library" -msgstr "Бібліотека ресурсів" +msgstr "Бібліотека пакунків" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" @@ -1744,48 +1752,55 @@ msgstr "Бічна панель імпортування" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Надає змогу переглядати і редагувати просторові сцени." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." msgstr "" +"Надає змогу редагувати скрипти за допомогою вбудованого редактора скриптів." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Надає вбудований доступу до бібліотеки пакунків." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Надає змогу редагувати ієрархію вузлів на бічній панелі сцени." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Надає змогу працювати із сигналами і групами вузла, який позначено на бічній " +"панелі сцени." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." msgstr "" +"Надає змогу здійснювати навігацію локальною файловою системою за допомогою " +"відповідної бічної панелі." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Надає змогу налаштувати параметри імпортування для окремих пакунків. " +"Потребує для роботи бічної панелі FileSystem." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" -msgstr "(Поточний)" +msgstr "(поточний)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(немає)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." msgstr "" +"Вилучити поточний позначений профіль, «%s»? Дію не може бути скасовано." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1816,19 +1831,16 @@ msgid "Enable Contextual Editor" msgstr "Увімкнути контекстуальний редактор" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Властивості:" +msgstr "Властивості класу:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Можливості" +msgstr "Основні можливості:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Увімкнені класи:" +msgstr "Вузли і класи:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1847,23 +1859,20 @@ msgid "Error saving profile to path: '%s'." msgstr "Помилка під час спроби зберегти профіль до каталогу: «%s»." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" -msgstr "Відновити типові параметри" +msgstr "Повернутися до типового" #: editor/editor_feature_profile.cpp msgid "Current Profile:" msgstr "Поточний профіль:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Витерти профіль" +msgstr "Створити профіль" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Вилучити плитку" +msgstr "Вилучити профіль" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1883,18 +1892,18 @@ msgid "Export" msgstr "Експортування" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Поточний профіль:" +msgstr "Налаштувати позначений профіль:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Параметри класу:" +msgstr "Додаткові параметри:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Створіть або імпортуйте профіль для редагування доступних класів і " +"властивостей." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1921,9 +1930,8 @@ msgid "Select Current Folder" msgstr "Вибрати поточну теку" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "Файл існує, перезаписати його?" +msgstr "Файл вже існує. Перезаписати?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2316,6 +2324,17 @@ msgid "New Window" msgstr "Нове вікно" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Обертається, коли перемальовується вікно редактора." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Неможливо зберегти імпортовані ресурси." @@ -2545,13 +2564,16 @@ msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"У поточної сцени немає кореневого вузла, але %d змінених зовнішніх ресурсів " +"було збережено попри це." #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "Для того, щоб можна було зберегти сцену, потрібен кореневий вузол." +msgstr "" +"Для збереження сцени потрібен кореневий вузол. Ви можете додати кореневий " +"вузол за допомогою бічної панелі ієрархії сцени." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2937,9 +2959,8 @@ msgid "Orphan Resource Explorer..." msgstr "Керування осиротілими ресурсами…" #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Перейменувати проєкт" +msgstr "Перезавантажити поточний проєкт" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3100,13 +3121,12 @@ msgid "Help" msgstr "Довідка" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Відкрити документацію" +msgstr "Документація в інтернеті" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Запитання і відповіді" #: editor/editor_node.cpp msgid "Report a Bug" @@ -3114,7 +3134,7 @@ msgstr "Повідомити про ваду" #: editor/editor_node.cpp msgid "Suggest a Feature" -msgstr "" +msgstr "Запропонувати можливість" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3125,9 +3145,8 @@ msgid "Community" msgstr "Спільнота" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Про" +msgstr "Про Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3179,10 +3198,6 @@ msgid "Save & Restart" msgstr "Зберегти і перезапустити" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Обертається, коли перемальовується вікно редактора." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Оновлювати неперервно" @@ -3225,14 +3240,12 @@ msgid "Manage Templates" msgstr "Керування шаблонами" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" -msgstr "Встановити з файлу" +msgstr "Встановити з файла" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "Виберіть джерело сітки:" +msgstr "Виберіть файл початкових кодів android" #: editor/editor_node.cpp msgid "" @@ -3314,9 +3327,8 @@ msgid "Select" msgstr "Виділити" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Вибрати поточну теку" +msgstr "Вибрати поточний" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3351,9 +3363,8 @@ msgid "No sub-resources found." msgstr "Підлеглих ресурсів не знайдено." #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "Підлеглих ресурсів не знайдено." +msgstr "Відкрити список підлеглих ресурсів." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3380,14 +3391,12 @@ msgid "Update" msgstr "Оновити" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Версія:" +msgstr "Версія" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" -msgstr "Автори" +msgstr "Автор" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -3400,14 +3409,12 @@ msgid "Measure:" msgstr "Вимірювати:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "Час кадру (сек)" +msgstr "Час кадру (мс)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "Середній час (сек)" +msgstr "Середній час (мс)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3434,6 +3441,12 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"Включно: включає час з інших функцій, які викликає ця функція.\n" +"Скористайтеся цим варіантом для виявлення вузьких місць.\n" +"\n" +"Цей об'єкт: визначати витрачений час у самій функції, не в інших функціях, " +"які ця функція викликає.\n" +"Скористайтеся цим варіантом для пошуку окремих функцій для оптимізації." #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3556,9 +3569,8 @@ msgid "Paste" msgstr "Вставити" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" -msgstr "Перетворити на %s" +msgstr "Перетворити до %s" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New %s" @@ -3608,10 +3620,9 @@ msgid "Did you forget the '_run' method?" msgstr "Ви забули метод '_run'?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." msgstr "" -"Утримуйте натиснутою Ctrl, щоб заокруглити до цілих. Утримуйте натиснутою " +"Утримуйте натиснутою %s, щоб заокруглити до цілих. Утримуйте натиснутою " "Shift, щоб зміни були точнішими." #: editor/editor_sub_scene.cpp @@ -3632,49 +3643,43 @@ msgstr "Імпортувати з вузла:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "Відкрити теку, яка містить ці шаблони." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Вилучити ці шаблони." #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "Немає файла «%s»." +msgstr "Немає доступних дзеркал." #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "Отримання дзеркал, будь ласка, зачекайте..." +msgstr "Отримуємо список дзеркал…" #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "Розпочинаємо отримання даних…" #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Помилка під час запиту за такою адресою:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Підключення до дзеркала..." +msgstr "Встановлюємо з'єднання із дзеркалом…" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "Неможливо розпізнати ім'я хоста:" +msgstr "Не вдалося визначити вузол за бажаною адресою." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "Не вдалося підключитися до хосту:" +msgstr "Не вдалося встановити з'єднання із дзеркалом." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Немає відповіді від хоста:" +msgstr "Немає відповіді від дзеркала." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3682,18 +3687,16 @@ msgid "Request failed." msgstr "Не вдалося виконати запит." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Запит не вдався, забагато перенаправлень" +msgstr "Спроба виконати запит завершилася циклічним переспрямовуванням." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Не вдалося виконати запит." +msgstr "Не вдалося виконати запит:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Отримання даних завершено; видобуваємо шаблони…" #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3712,15 +3715,14 @@ msgid "Error getting the list of mirrors." msgstr "Помилка під час отримання списку дзеркал." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" -"Помилка під час обробки JSON списку дзеркал. Будь ласка, повідомте про цю " -"ваду!" +"Помилка під час спроби обробити JSON зі списком дзеркал. Будь ласка, " +"повідомте розробникам про цю помилку!" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "Найкраще доступне дзеркало" #: editor/export_template_manager.cpp msgid "" @@ -3773,24 +3775,21 @@ msgid "SSL Handshake Error" msgstr "Помилка SSL Рукостискання" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "Неможливо відкрити ZIP-файл шаблону експорту." +msgstr "Не вдалося відкрити файл шаблонів експортування." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "Неправильний формат version.txt у шаблонах: %s." +msgstr "" +"Некоректне форматування version.txt у файлі шаблонів експортування: %s." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "Файл version.txt не знайдено у шаблонах." +msgstr "У файлі шаблонів експортування немає version.txt." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" -msgstr "Помилка створення шляху для шаблонів:" +msgstr "Помилка створення шляху для видобутих шаблонів:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -3801,9 +3800,8 @@ msgid "Importing:" msgstr "Імпортування:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "Вилучити версію шаблону '%s'?" +msgstr "Вилучити шаблони для версії «%s»?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3820,57 +3818,65 @@ msgstr "Поточна версія:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"Не вистачає шаблонів експортування. Отримайте їх або встановіть з файла." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "Шаблони експортування встановлено і приготовано до використання." #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "Відкрити файл" +msgstr "Відкрити теку" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." -msgstr "" +msgstr "Відкрити теку, що містить встановлені шаблони для поточної версії." #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "Видалити" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "Початкове значення для лічильника" +msgstr "Вилучити шаблони для поточної версії." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Помилка завантаження" +msgstr "Джерело отримання:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Запустити в браузері" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Помилка копіювання" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Отримати і встановити" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." msgstr "" +"Отримати і встановити шаблони для поточної версії із найкращого можливого " +"дзеркала." #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." msgstr "Для тестових збірок не передбачено офіційних шаблонів експортування." #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" -msgstr "Встановити з файлу" +msgstr "Встановити з файла" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "Імпортувати шаблони з ZIP-файлу" +msgstr "Встановити шаблони з локального файла." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3878,19 +3884,16 @@ msgid "Cancel" msgstr "Скасувати" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "Неможливо відкрити ZIP-файл шаблону експорту." +msgstr "Скасувати отримання шаблонів." #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "Встановлені версії:" +msgstr "Інші встановлені версії:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "Видалити" +msgstr "Вилучити шаблон" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -3905,6 +3908,8 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"Отримання шаблонів буде продовжено.\n" +"Під час завершення можливе тимчасове «замерзання» редактора." #: editor/filesystem_dock.cpp msgid "Favorites" @@ -4052,35 +4057,32 @@ msgid "Collapse All" msgstr "Згорнути все" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Шукати файли" +msgstr "Упорядкувати файли" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Упорядкувати за назвою (зростання)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Упорядкувати за назвою (спадання)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Упорядкувати за типом (зростання)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Упорядкувати за типом (спадання)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Востаннє змінено" +msgstr "Упорядкувати за останнім внесенням змін" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Востаннє змінено" +msgstr "Упорядкувати за початковим внесенням змін" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4092,7 +4094,7 @@ msgstr "Перейменувати..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Фокусувати поле для пошуку" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4400,14 +4402,12 @@ msgid "Failed to load resource." msgstr "Не вдалося завантажити ресурс." #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "Властивості" +msgstr "Копіювати властивості" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "Властивості" +msgstr "Вставити властивості" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4432,23 +4432,20 @@ msgid "Save As..." msgstr "Зберегти як..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "Не в ресурсному шляху." +msgstr "Додаткові параметри ресурсу." #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "Редагувати буфер ресурсів" +msgstr "Редагувати ресурс з буфера обміну" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "Копіювати ресурс" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "Зробити вбудованим" +msgstr "Зробити ресурс вбудованим" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4463,9 +4460,8 @@ msgid "History of recently edited objects." msgstr "Історія нещодавно відредагованих об'єктів." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Відкрити документацію" +msgstr "Відкрити документацію для цього об'єкта." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4476,9 +4472,8 @@ msgid "Filter properties" msgstr "Фільтрувати властивості" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "Властивості об'єкта." +msgstr "Керувати властивостями об'єкта." #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4726,9 +4721,8 @@ msgid "Blend:" msgstr "Змішувати:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "Змінено параметр" +msgstr "Змінено параметр:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5460,11 +5454,11 @@ msgstr "Все" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "Шукати шаблони, проєкти та демонстрації" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "Пошук пакунків (із виключенням шаблонів, проєктів та демонстрацій)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5508,7 +5502,7 @@ msgstr "ZIP файл ресурсів" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "Пуск/Пауза прослуховування звуку" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5769,13 +5763,12 @@ msgstr "Змінити прив'язки" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"Перевизначення камери гри\n" -"Замінює камеру гри камерою видимої області редактора." +"Перевизначення камери проєкту\n" +"Замінює поточну камеру проєкту камерою видимої області редактора." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5784,6 +5777,9 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"Перевизначення камери проєкту\n" +"Немає запущеного екземпляра проєкту. Запустіть проєкт з вікна редактора, щоб " +"скористатися цією можливістю." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5851,31 +5847,27 @@ msgstr "Режим виділення" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "Вилучити позначений вузол або перехід." +msgstr "Перетягування: обертати позначений вузол навколо опорної точки." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Перетягнути: перемістити" +msgstr "Alt+Перетягнути: перемістити позначений вузол." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "Вилучити позначений вузол або перехід." +msgstr "V: встановити позицію опорної точки позначеного вузла." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." msgstr "" -"Показати список усіх об'єктів, натиснутих на позицію\n" -"(так само, як Альт+ПКМ у режимі вибору)." +"Alt+ПКМ: показати список усіх вузлів у позиції клацання, включно із " +"заблокованими." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "ПКМ: додати вузол у позиції клацання." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6113,14 +6105,12 @@ msgid "Clear Pose" msgstr "Очистити позу" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "Додати вузол" +msgstr "Додати вузол тут" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "Сцени екземпляра" +msgstr "Екземпляр сцени тут" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6136,49 +6126,43 @@ msgstr "Панорамування зображення" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "Масштаб у 3,125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "Масштаб у 6,25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "Масштаб у 12,5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "Зменшення" +msgstr "Масштаб у 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "Зменшення" +msgstr "Масштаб у 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "Зменшення" +msgstr "Масштаб у 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "Зменшення" +msgstr "Масштаб у 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "Зменшення" +msgstr "Масштаб у 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "Зменшення" +msgstr "Масштаб у 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "Масштаб у 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6424,9 +6408,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "Не вдалося створити єдину опуклу форму зіткнення." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "Створити єдину опуклу форму" +msgstr "Створити спрощену опуклу форму" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6461,9 +6444,8 @@ msgid "No mesh to debug." msgstr "Немає сітки для налагодження." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "Модель не має UV на цьому шарі" +msgstr "Сітка не має UV у шарі %d." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6528,9 +6510,8 @@ msgstr "" "Цей найшвидший (але найменш точний) варіант для виявлення зіткнень." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Створити єдину опуклу область зіткнення" +msgstr "Створити спрощену опуклу область зіткнення" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6538,20 +6519,23 @@ msgid "" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"Створює спрощену опуклу форму зіткнення.\n" +"Це схоже на єдину форму зіткнення, але може призвести у деяких випадках до " +"простішої геометрії ціною точності." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" msgstr "Створити декілька опуклих областей зіткнення" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" "Створює засновану на багатокутниках форму зіткнення.\n" -"Цей проміжний за швидкістю варіант між наведеними вище двома варіантами." +"Цей проміжний за швидкодією варіант між єдиною опуклою формою зіткнення і " +"заснованою на багатокутниках формою зіткнення." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -7195,24 +7179,20 @@ msgid "ResourcePreloader" msgstr "Передзавантажувач ресурсів" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "Віддзеркалити горизонтально" +msgstr "Віддзеркалити портали" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "Кількість генерованих точок:" +msgstr "Створити точки кімнати" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "Кількість генерованих точок:" +msgstr "Створити точки" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "Віддзеркалити горизонтально" +msgstr "Віддзеркалити портал" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7778,20 +7758,17 @@ msgid "None" msgstr "Немає" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Режим повороту" +msgstr "Обертати" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "Перенесення:" +msgstr "Пересунути" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "Масштаб:" +msgstr "Масштаб" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7814,52 +7791,44 @@ msgid "Animation Key Inserted." msgstr "Вставлено ключ анімації." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "Хилитання" +msgstr "Тон:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Рискання:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Розмір: " +msgstr "Розмір:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "Намальовано об'єктів" +msgstr "Намальовано об'єктів:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "Зміни матеріалу" +msgstr "Зміни матеріалу:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "Зміни шейдерів" +msgstr "Зміни шейдерів:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "Зміни поверхонь" +msgstr "Зміни поверхонь:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "Виклики засобу малювання" +msgstr "Намалювати виклики:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Вершини" +msgstr "Вершини:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "Частота кадрів: %d (%s мс)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -8014,9 +7983,8 @@ msgid "Freelook Slow Modifier" msgstr "Модифікатор швидкості довільного огляду" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Змінити розмір камери" +msgstr "Перемкнути попередній перегляд камери" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8039,9 +8007,8 @@ msgstr "" "грі." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "Перетворити на %s" +msgstr "Перетворити кімнати" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8062,7 +8029,6 @@ msgstr "" "Напівзакрите око: Gizmo є також видимим крізь непрозорі поверхні («рентген»)." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Приліпити вузли до підлоги" @@ -8080,7 +8046,7 @@ msgstr "За допомогою функції прив'язки" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "Перетворює кімнати для відбраковування порталу." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8176,9 +8142,8 @@ msgid "View Grid" msgstr "Перегляд ґратки" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Параметри панелі перегляду" +msgstr "Переглянути відбраковування Portal" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8500,221 +8465,196 @@ msgid "TextureRegion" msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" -msgstr "Колір" +msgstr "Кольори" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" -msgstr "Шрифт" +msgstr "Шрифти" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" -msgstr "Піктограма" +msgstr "Піктограми" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "Style Box" +msgstr "Стильові панелі" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} кольорів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "Підлеглих ресурсів не знайдено." +msgstr "Кольорів не знайдено." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "Константи" +msgstr "{num} сталих" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "Сталий колір." +msgstr "Сталих не знайдено." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} шрифтів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "Не знайдено!" +msgstr "Шрифтів не знайдено." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} піктограм" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "Не знайдено!" +msgstr "Піктограм не знайдено." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} панелей стилів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "Підлеглих ресурсів не знайдено." +msgstr "Панелей стилів не знайдено." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} зараз позначених" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "Нічого не позначено для імпортування." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "Імпортувати тему" +msgstr "Імпортування записів теми" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Імпортування записів, {n} з {n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "Вийти з редактора?" +msgstr "Оновлення редактора" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "Аналіз" +msgstr "Закріплення" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "Фільтри:" +msgstr "Фільтр:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "З даними" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "Виберіть вузол" +msgstr "Вибір за типом даних:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "Виберіть поділ для його витирання." +msgstr "Вибрати усі видимі записи кольорів." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "Вибрати усі видимі записи кольорів та їхні дані." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Скасувати вибір усіх видимих записів кольорів." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "Спочатку виберіть елемент параметра!" +msgstr "Вибрати усі видимі записи сталих." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." -msgstr "" +msgstr "Вибрати усі записи усіх видимих сталих та їхні дані." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "Скасувати вибір усіх видимих записів сталих." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "Спочатку виберіть елемент параметра!" +msgstr "Вибрати усі видимі записи шрифтів." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." -msgstr "" +msgstr "Вибрати усі видимі записи шрифтів та їхні дані." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "Скасувати вибір усіх видимих записів шрифтів." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "Спочатку виберіть елемент параметра!" +msgstr "Вибрати усі видимі записи піктограм." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "Спочатку виберіть елемент параметра!" +msgstr "Вибрати усі видимі записи піктограм та їхні дані." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "Спочатку виберіть елемент параметра!" +msgstr "Скасувати вибір усіх видимих записів піктограм." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "Вибрати усі видимі записи панелей стилів." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." -msgstr "" +msgstr "Вибрати усі видимі записи панелей стилів та їхні дані." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "Скасувати вибір усіх видимих записів панелей стилів." #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Попередження: додавання даних піктограм може значно збільшити розмір вашого " +"ресурсу теми." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "Згорнути все" +msgstr "Згорнути типи." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "Розгорнути все" +msgstr "Розгорнути типи." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "Виберіть файл шаблону" +msgstr "Вибрати усі записи тем." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "Виберіть пункти" +msgstr "Вибрати з даними" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Вибрати усі записи тем із даними запису." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "Виділити все" +msgstr "Зняти позначення з усіх" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "Скасувати вибір усіх записів тем." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "Імпортувати сцену" +msgstr "Імпортувати позначене" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8722,271 +8662,247 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"На панелі імпортування записів позначено деякі записи. Якщо закрити це " +"вікно, позначення буде знято.\n" +"Закрити вікно попри це?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "Вилучити усі елементи" +msgstr "Вилучити усі записи кольорів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "Вилучити елемент" +msgstr "Перейменувати запис" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "Вилучити усі елементи" +msgstr "Вилучити усі записи сталих" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "Вилучити усі елементи" +msgstr "Вилучити усі записи шрифтів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "Вилучити усі елементи" +msgstr "Вилучити усі записи піктограм" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "Вилучити усі елементи" +msgstr "Вилучити усі записи панелей стилів" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "Додати елементи класу" +msgstr "Додати запис кольору" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "Додати елементи класу" +msgstr "Додати запис сталої" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "Додати елемент" +msgstr "Додати запис шрифту" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "Додати елемент" +msgstr "Додати запис піктограми" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "Додати усі елементи" +msgstr "Додати запис панелі стилів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "Вилучити елементи класу" +msgstr "Перейменувати запис кольору" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "Вилучити елементи класу" +msgstr "Перейменувати запис сталої" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "Перейменувати вузол" +msgstr "Перейменувати запис шрифту" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "Перейменувати вузол" +msgstr "Перейменувати запис піктограми" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "Вилучити вибраний елемент" +msgstr "Перейменувати запис панелі стилів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "Неприпустимий файл, це не компонування аудіо-шини." +msgstr "Некоректний файл. Файл не є ресурсом теми." #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." -msgstr "" +msgstr "Некоректний файл. Файл збігається із редагованим ресурсом теми." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "Керування шаблонами" +msgstr "Керування записами теми" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "Редагований елемент" +msgstr "Редагувати записи" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Тип:" +msgstr "Типи:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Тип:" +msgstr "Додати тип:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "Додати елемент" +msgstr "Додати запис:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "Додати усі елементи" +msgstr "Додати запис панелі стилів" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "Вилучити елемент" +msgstr "Вилучити записи:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Вилучити елементи класу" +msgstr "Вилучити записи класу" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "Вилучити елементи класу" +msgstr "Вилучити нетипові записи" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" msgstr "Вилучити усі елементи" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "Тема елементів ГІК" +msgstr "Додати запис теми" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "Ім'я Вузла:" +msgstr "Стара назва:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "Імпортувати тему" +msgstr "Імпортовані пункти" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "Типовий" +msgstr "Типова тема" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "Редагувати тему" +msgstr "Тема редактора" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "Вилучити ресурс" +msgstr "Виберіть ресурс іншої теми:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "Імпортувати тему" +msgstr "Інша тема" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "Перейменувати доріжку" +msgstr "Підтвердити перейменування запису" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "Пакетне перейменування" +msgstr "Скасувати перейменування запису" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "Перевизначення" +msgstr "Перевизначити запис" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +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 -#, fuzzy msgid "Add Type" -msgstr "Тип" +msgstr "Додати тип" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "Додати елемент" +msgstr "Додати тип запису" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "Тип вузлів" +msgstr "Типи вузлів:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "Завантажити типовий" +msgstr "Показати типовий" #: 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 "Перевизначення" +msgstr "Перевизначити усе" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "Перевизначити усі записи стандартних типів." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Тема" +msgstr "Тема:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "Керування шаблонами експортування…" +msgstr "Керувати записами…" #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "Додати, вилучити, упорядкувати або імпортувати записи тем." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "Попередній перегляд" +msgstr "Додати зображення перегляду" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "Оновити перегляд" +msgstr "Типове зображення перегляду" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "Виберіть джерело сітки:" +msgstr "Виберіть сцену графічного інтерфейсу:" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Перемкнути засіб вибору керування, який уможливлює візуальний вибір типів " +"керування для редагування." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -9021,9 +8937,8 @@ msgid "Checked Radio Item" msgstr "Позначений пункт варіанта" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Імен. розд." +msgstr "Іменований роздільник" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9076,19 +8991,21 @@ msgstr "Має,Багато,Параметрів" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." msgstr "" +"Некоректний шлях. Ймовірно, ресурс PackedScene було пересунуто або вилучено." #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." msgstr "" +"Некоректний ресурс PackedScene. Кореневим вузлом ресурсу має бути вузол " +"Control." #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "Неприпустимий файл, це не компонування аудіо-шини." +msgstr "Некоректний файл. Файл не є ресурсом PackedScene." #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "Перезавантажити сцену для відтворення її найактуальнішого стану." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10493,9 +10410,8 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "Змінити візуальну властивість" +msgstr "Змінити візуальну властивість:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10621,9 +10537,8 @@ msgid "Script" msgstr "Скрипт" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "Режим експортування скрипту:" +msgstr "Режим експортування GDScript:" #: editor/project_export.cpp msgid "Text" @@ -10631,21 +10546,20 @@ msgstr "Текст" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "Зібраний байткод (швидше завантаження)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "Зашифровано (ключ можна вказати нижче)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "Некоректний ключ шифрування (ключ має складатися із 64 символів)" +msgstr "" +"Некоректний ключ шифрування (ключ має складатися із 64 шістнадцяткових цифр)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Ключ шифрування скрипту (256-бітове шістнадцяткове число):" +msgstr "Ключ шифрування GDScript (256-бітове шістнадцяткове число):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10717,7 +10631,6 @@ msgid "Imported Project" msgstr "Імпортований проєкт" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "Некоректна назва проєкту." @@ -10945,14 +10858,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "Ви справді хочете запустити %d проєктів одночасно?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Вибрати пристрій зі списку" +msgstr "Вилучити зі списку %d проєктів?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "Вибрати пристрій зі списку" +msgstr "Вилучити цей проєкт зі списку?" #: editor/project_manager.cpp msgid "" @@ -10985,9 +10896,8 @@ msgid "Project Manager" msgstr "Керівник проєкту" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Проєкти" +msgstr "Локальні проєкти" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -10998,23 +10908,20 @@ msgid "Last Modified" msgstr "Востаннє змінено" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "Експортувати проєкт" +msgstr "Редагувати проєкт" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Перейменувати проєкт" +msgstr "Запустити проєкт" #: editor/project_manager.cpp msgid "Scan" msgstr "Сканувати" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "Проєкти" +msgstr "Сканувати проєкти" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -11025,14 +10932,12 @@ msgid "New Project" msgstr "Новий проєкт" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "Імпортований проєкт" +msgstr "Імпортувати проєкт" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "Перейменувати проєкт" +msgstr "Вилучити проєкт" #: editor/project_manager.cpp msgid "Remove Missing" @@ -11040,12 +10945,11 @@ msgstr "Вилучити пропущене" #: editor/project_manager.cpp msgid "About" -msgstr "Про" +msgstr "Відомості" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "Бібліотека ресурсів" +msgstr "Проєкти бібліотеки пакунків" #: editor/project_manager.cpp msgid "Restart Now" @@ -11057,7 +10961,7 @@ msgstr "Вилучити усі" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "Також вилучити вміст проєкту (без можливості скасування!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11072,20 +10976,18 @@ msgstr "" "Бажаєте переглянути офіційні приклади проєктів з бібліотеки ресурсів?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Фільтрувати властивості" +msgstr "Фільтр проєктів" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" -"Поле пошуку фільтрує проєкти за назвою і останнім компонентом шляху.\n" +"Це поле фільтрує проєкти за назвою і останнім компонентом шляху.\n" "Щоб виконати фільтрування проєктів за назвою і повним шляхом, у запиті має " -"бути принаймні один символ `/`." +"бути принаймні один символ «/»." #: editor/project_settings_editor.cpp msgid "Key " @@ -11093,7 +10995,7 @@ msgstr "Клавіша " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "Фізична клавіша" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -11141,7 +11043,7 @@ msgstr "Пристрій" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (фізичний)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11284,23 +11186,21 @@ msgid "Override for Feature" msgstr "Перевизначено для можливості" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "Додати переклад" +msgstr "Додати %d перекладів" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "Вилучити переклад" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Переспрямування ресурсу додає переспрямування" +msgstr "Повторна прив'язка ресурсів перекладу: додавання %d шляхів" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Переспрямування ресурсу додає переспрямування" +msgstr "" +"Повторна прив'язка ресурсів перекладу: додавання %d повторних прив'язок" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11746,12 +11646,15 @@ msgstr "Вилучити вузол «%s»?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Щоб можна було зберегти гілку як сцену, сцену має бути відкрито у редакторі." #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." msgstr "" +"Щоб можна було зберегти гілку як сцену, має бути позначено лише один вузол, " +"а у вас позначено %d." #: editor/scene_tree_dock.cpp msgid "" @@ -11760,6 +11663,11 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"Не вдалося зберегти гілку кореневого вузла як екземпляр сцени.\n" +"Щоб створити редаговану копію поточної сцени, здублюйте її за допомогою " +"контекстного меню бічної панелі файлової системи\n" +"або створіть успадковану сцену за допомогою пункту меню «Сцена > Створити " +"успадковану сцену...»." #: editor/scene_tree_dock.cpp msgid "" @@ -11767,6 +11675,10 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"Не вдалося зберегти гілку вже створеного екземпляра сцени.\n" +"Щоб створити варіацію сцени, ви можете створити успадковану сцену на основі " +"екземпляра сцени за допомогою пункту меню «Сцена > Створити успадковану " +"сцену...»." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12174,6 +12086,8 @@ msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." msgstr "" +"Попередження: використання для скрипту назви, яка збігається із назвою " +"вбудованого типу, зазвичай, є небажаним." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12245,7 +12159,7 @@ msgstr "Помилка копіювання" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "Відкрити початковий код C++ на GitHub" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12423,6 +12337,16 @@ msgstr "Змінити висоту форми циліндра" msgid "Change Ray Shape Length" msgstr "Змінити довжину форми променя" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Задати положення точки кривої" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Задати положення точки кривої" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Змінити радіус циліндра" @@ -12534,14 +12458,12 @@ msgid "Object can't provide a length." msgstr "Об'єкт не може надавати довжину." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "Експортувати бібліотеку сіті" +msgstr "Експортувати GLTF2 сітки" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "Експортувати…" +msgstr "Експортувати GLTF…" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12584,9 +12506,8 @@ msgid "GridMap Paint" msgstr "Малюнок GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "Вибір заповнення GridMap" +msgstr "Вибір GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12838,14 +12759,12 @@ msgid "Add Output Port" msgstr "Додати вихідний порт" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Змінити тип" +msgstr "Змірити тип порту" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Змінити назву вхідного порту" +msgstr "Змінити назву порту" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -12960,9 +12879,8 @@ msgid "Add Preload Node" msgstr "Додати попередньо завантажений вузол" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" -msgstr "Додати вузол" +msgstr "Додати вузли" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -13227,37 +13145,31 @@ msgstr "Вибрати пристрій зі списку" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "Запущено на %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Експортування усього" +msgstr "Експортування APK…" #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Видалити" +msgstr "Вилучення…" #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Завантаження. Будь ласка, зачекайте..." +msgstr "Встановлення на пристрій. Будь ласка, зачекайте..." #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "Не вдалося запустити підпроцес!" +msgstr "Не вдалося встановити на пристрій: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "Запуск користувацького скрипту..." +msgstr "Запуск на пристрої…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "Неможливо створити теку." +msgstr "Не вдалося виконати на пристрої." #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13388,40 +13300,38 @@ msgid "" "directory.\n" "The resulting %s is unsigned." msgstr "" +"Не вдалося знайти «apksigner».\n" +"Будь ласка, перевірте, чи є програма доступною у каталозі build-tools набору " +"засобів для розробки Android.\n" +"Отриманий у результаті %s не підписано." #: platform/android/export/export.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "Підписування діагностики %s…" #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"Сканування файлів,\n" -"будь ласка, зачекайте..." +msgstr "Підписування випуску %s…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "Не вдалося відкрити шаблон для експорту:" +msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування." #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "«apksigner» повернуто повідомлення про помилку із номером %d" #: platform/android/export/export.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "Додавання %s..." +msgstr "Перевіряємо %s…" #: platform/android/export/export.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "%s не пройдено перевірку за допомогою «apksigner»." #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "Експортування усього" +msgstr "Експорт на Android" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13440,7 +13350,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "Непідтримуваний формат експортування!\n" #: platform/android/export/export.cpp msgid "" @@ -13468,16 +13378,15 @@ msgstr "" msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" msgstr "" +"Не вдалося перезаписати файли res://android/build/res/*.xml із назвою проєкту" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "Не вдалося отримати project.godot у каталозі проекту." +msgstr "Не вдалося експортувати файли проєкту до проєкту gradle\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "Не вдалося записати файл:" +msgstr "Не вдалося записати файл пакунка розширення!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13506,21 +13415,20 @@ msgstr "" "дані можна знайти у каталозі проєкту gradle." #: platform/android/export/export.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "Не знайдено анімації: «%s»" +msgstr "Пакунок не знайдено: %s" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "Створення контурів..." +msgstr "Створення APK…" #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "Не вдалося відкрити шаблон для експорту:" +msgstr "" +"Не вдалося знайти шаблон APK для експортування:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13529,16 +13437,17 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"Не вистачає бібліотек у шаблоні експортування для вибраних архітектур: %s.\n" +"Будь ласка, створіть шаблон з усіма необхідними бібліотеками або зніміть " +"позначку з архітектур із пропущеними бібліотеками у стилі експортування." #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "Додавання %s..." +msgstr "Додавання файлів…" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "Не вдалося записати файл:" +msgstr "Не вдалося експортувати файли проєкту" #: platform/android/export/export.cpp msgid "Aligning APK..." @@ -13546,7 +13455,7 @@ msgstr "Вирівнюємо APK..." #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "Не вдалося розпакувати тимчасовий невирівняний APK." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13594,45 +13503,40 @@ msgid "Could not write file:" msgstr "Не вдалося записати файл:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "Не вдалося записати файл:" +msgstr "Не вдалося прочитати файл:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "Не вдалося прочитати спеціальну оболонку HTML:" +msgstr "Не вдалося прочитати оболонку HTML:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "Неможливо створити теку." +msgstr "Не вдалося створити каталог на сервері HTTP:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Помилка збереження сцени." +msgstr "Помилка під час спроби запуску сервера HTTP:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "Некоректний ідентифікатор:" +msgstr "Некоректний ідентифікатор пакунка:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "Засвідчення: потрібен код підписування." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "Засвідчення: потрібне стійке середовище запуску." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "Засвідчення: не вказано назву ідентифікатора Apple." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "Засвідчення: не вказано пароль до ідентифікатора Apple." #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -14074,6 +13978,9 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"Властивість GIProbe Compress було визначено застарілою через відомі помилки. " +"Вона більше ні на що не впливає.\n" +"Щоб усунути це попередження, вимкніть властивість Compress у GIProbe." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14163,14 +14070,20 @@ msgstr "Вузол A і вузол B має бути різними PhysicsBody" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." msgstr "" +"RoomManager не повинен бути дочірнім об'єктом першого або другого рівня для " +"Portal." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." msgstr "" +"Запис Room не повинен бути дочірнім об'єктом першого або другого рівня для " +"Portal." #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." msgstr "" +"Запис RoomGroup не повинен бути дочірнім об'єктом першого або другого рівня " +"для Portal." #: scene/3d/remote_transform.cpp msgid "" @@ -14183,41 +14096,83 @@ msgstr "" #: scene/3d/room.cpp msgid "A Room cannot have another Room as a child or grandchild." msgstr "" +"Запис Room не може містити дочірнього об'єкта Room першого або другого рівня " +"вкладеності." #: scene/3d/room.cpp msgid "The RoomManager should not be placed inside a Room." -msgstr "" +msgstr "RoomManager не можна розташовувати у Room." #: scene/3d/room.cpp msgid "A RoomGroup should not be placed inside a Room." -msgstr "" +msgstr "RoomGroup не можна розташовувати у Room." #: scene/3d/room.cpp msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"Опукла оболонка кімнати містить велику кількість площин.\n" +"Вам варто спростити межу кімнати, щоб підвищити швидкодію." #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." -msgstr "" +msgstr "RoomManager не можна розташовувати у RoomGroup." #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "RoomList не надано значення." #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." -msgstr "" +msgstr "Вузол RoomList не може бути Spatial (або походити від Spatial)." #: scene/3d/room_manager.cpp msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"Для «Обмеження глибини порталу» встановлено нульове значення.\n" +"Буде оброблено лише Room, у якій перебуває Camera." #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." +msgstr "У SceneTree має бути лише один запис RoomManager." + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." msgstr "" #: scene/3d/soft_body.cpp @@ -14283,7 +14238,7 @@ msgstr "Не знайдено анімації: «%s»" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "Скинути застосування анімації" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14461,25 +14416,30 @@ msgid "Invalid comparison function for that type." msgstr "Некоректна функція порівняння для цього типу." #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "Змінні величини можна пов'язувати лише із функцією вузлів." +msgstr "У функції «%s» не може бути надано змінне значення." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" +"Змінним, яким надано значення у функції «vertex», не можна повторно надавати " +"значення у «fragment» або «light»." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" +"Змінним, яким надано значення у функції «fragment», не можна повторно " +"надавати значення у «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." @@ -15669,9 +15629,6 @@ msgstr "Сталі не можна змінювати." #~ msgid "I see..." #~ msgstr "Бачу..." -#~ msgid "Can't open '%s'." -#~ msgstr "Неможливо відкрити '%s'." - #~ msgid "Ugh" #~ msgstr "Тьху" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 5c5a6baa8e..fb70bc5703 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -345,6 +345,7 @@ msgstr "" msgid "Remove Anim Track" msgstr "" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "" @@ -369,10 +370,26 @@ msgstr "" msgid "Anim Insert" msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "سب سکریپشن بنائیں" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "" @@ -939,7 +956,7 @@ msgstr "سب سکریپشن بنائیں" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2261,6 +2278,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3048,10 +3076,6 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "" @@ -3669,6 +3693,15 @@ msgid "Download from:" msgstr ".تمام کا انتخاب" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "سب سکریپشن بنائیں" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8486,6 +8519,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr ".تمام کا انتخاب" @@ -8516,6 +8555,12 @@ msgid "Remove All StyleBox Items" msgstr ".تمام کا انتخاب" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "پسندیدہ اوپر منتقل کریں" @@ -12045,6 +12090,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr ".تمام کا انتخاب" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr ".تمام کا انتخاب" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -13682,6 +13737,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 531488e640..d50d622215 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -355,6 +355,7 @@ msgstr "Đổi chế độ vòng lặp hoạt ảnh" msgid "Remove Anim Track" msgstr "Xóa Anim Track" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "Tạo track mới cho %s và chèn key?" @@ -379,10 +380,27 @@ msgstr "Tạo" msgid "Anim Insert" msgstr "Chèn Anim" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "Hoạt ảnh" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer không thể tự tạo hoạt ảnh, phải nhờ các Player khác." +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "Thuộc tính '%s' không tồn tại." + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "Tạo & Chèn Hoạt ảnh" @@ -954,7 +972,7 @@ msgstr "Tạo %s mới" msgid "No results for \"%s\"." msgstr "Không tìm thấy kết quả cho \"%s\"." -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2299,6 +2317,17 @@ msgid "New Window" msgstr "Cửa sổ mới" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "Xoay khi cửa sổ trình chỉnh sửa được vẽ lại." + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "Tài nguyên đã nhập không thể lưu." @@ -3141,10 +3170,6 @@ msgid "Save & Restart" msgstr "Lưu & Khởi động lại" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "Xoay khi cửa sổ trình chỉnh sửa được vẽ lại." - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "Cập nhật Liên tục" @@ -3796,6 +3821,16 @@ msgid "Download from:" msgstr "Lỗi tải" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "Chạy trong Trình duyệt web" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "Sao chép lỗi" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8623,6 +8658,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "Xóa tất cả các mục" @@ -8653,6 +8694,12 @@ msgid "Remove All StyleBox Items" msgstr "Xóa tất cả các mục" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "Thêm mục Lớp" @@ -12282,6 +12329,16 @@ msgstr "Chỉnh chiều cao hình trụ" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "Đặt vị trí điểm uốn" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "Đặt vị trí điểm uốn" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "Thay Đổi Bán Kính Hình Trụ" @@ -14000,6 +14057,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index dbbd935854..8284ac605e 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -83,7 +83,7 @@ msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2021-08-01 12:02+0000\n" +"PO-Revision-Date: 2021-08-12 14:48+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" @@ -413,6 +413,7 @@ msgstr "更改动画循环模式" msgid "Remove Anim Track" msgstr "移除动画轨道" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "是否为 %s 新建轨道并插入关键帧?" @@ -437,10 +438,28 @@ msgstr "创建" msgid "Anim Insert" msgstr "插入动画" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "无法打开 \"%s\"。" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "动画" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer 不能动画化自己,只可动画化其它 Player。" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "不存在属性“%s”。" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "创建并插入动画" @@ -644,9 +663,8 @@ msgid "Go to Previous Step" msgstr "返回上一步" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" -msgstr "重置" +msgstr "应用重置" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -665,9 +683,8 @@ msgid "Use Bezier Curves" msgstr "使用贝塞尔曲线" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "粘贴轨道" +msgstr "创建 RESET 轨道" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -988,7 +1005,6 @@ msgid "Edit..." msgstr "编辑..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "跳转到方法" @@ -1008,9 +1024,9 @@ msgstr "创建 %s" msgid "No results for \"%s\"." msgstr "未找到 “%s”。" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "没有针对 %s 的描述。" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1110,17 +1126,15 @@ msgid "Owners Of:" msgstr "拥有者:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove the selected files from the project? (Cannot be undone.)\n" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"是否从项目中删除所选文件?(无法撤销)\n" -"你可以在系统回收站中恢复被删除的文件。" +"是否从项目中删除所选文件?(无法撤销。)\n" +"根据你的文件系统设置,文件会被移动至系统回收站或永久删除。" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1128,9 +1142,9 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"要删除的文件被其他资源所依赖。\n" -"仍然要删除吗?(无法撤销)\n" -"你可以在系统回收站中恢复被删除的文件。" +"其它资源需要这些即将被删除的文件才能正常工作。\n" +"仍然要删除吗?(无法撤销。)\n" +"根据你的文件系统设置,文件会被移动至系统回收站或永久删除。" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1298,41 +1312,36 @@ msgid "Licenses" msgstr "许可证" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "打开包文件时出错(非 ZIP 格式)。" +msgstr "打开“%s”的素材文件时出错(非 ZIP 格式)。" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s(已存在)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "素材“%s”的内容 - %d 个文件与你的项目冲突:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "素材“%s”的内容 - 没有文件与你的项目冲突:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "正在解压素材" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "以下文件无法从包中提取:" +msgstr "以下文件无法从素材“%s”中提取:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "以及其它 %s 个文件。" +msgstr "(以及其它 %s 个文件)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "软件包安装成功!" +msgstr "素材“%s”安装成功!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1344,9 +1353,8 @@ msgid "Install" msgstr "安装" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "程序包安装程序" +msgstr "素材安装器" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1409,7 +1417,6 @@ msgid "Bypass" msgstr "旁通" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "总线选项" @@ -1577,13 +1584,12 @@ msgid "Can't add autoload:" msgstr "无法加载 Autoload:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "文件不存在。" +msgstr "%s 是无效路径。文件不存在。" #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s 是无效路径。不是资源路径(res://)。" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1607,9 +1613,8 @@ msgid "Name" msgstr "名称" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "变量" +msgstr "全局变量" #: editor/editor_data.cpp msgid "Paste Params" @@ -1775,48 +1780,47 @@ msgstr "导入面板" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "允许查看并编辑 3D 场景。" #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "允许使用内置脚本编辑器编辑脚本。" #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "提供对素材库的内置访问。" #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "允许在场景面板中编辑节点层级。" #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." -msgstr "" +msgstr "允许在场景面板操作所选节点的信号和分组。" #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." -msgstr "" +msgstr "允许使用专门的面板浏览本地文件系统。" #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." -msgstr "" +msgstr "允许为各个素材配置导入设置。文件系统面板需要可用。" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" msgstr "(当前)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(无)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "要删除当前所选的配置文件“%s”吗?无法撤销。" #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1847,19 +1851,16 @@ msgid "Enable Contextual Editor" msgstr "启用上下文编辑器" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "属性:" +msgstr "类属性:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "特性" +msgstr "主要特性:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "启用的类:" +msgstr "节点和类:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1876,7 +1877,6 @@ msgid "Error saving profile to path: '%s'." msgstr "将配置文件保存到路径 “%s” 时出错。" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "重置为默认值" @@ -1885,14 +1885,12 @@ msgid "Current Profile:" msgstr "当前配置文件:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "删除配置文件" +msgstr "创建配置文件" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "移除图块" +msgstr "删除配置文件" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1912,18 +1910,16 @@ msgid "Export" msgstr "导出" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "当前配置文件:" +msgstr "配置所选配置文件:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "纹理选项" +msgstr "更多选项:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." -msgstr "" +msgstr "创建或导入配置文件以编辑可用的类和属性。" #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1950,7 +1946,6 @@ msgid "Select Current Folder" msgstr "选择当前文件夹" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" msgstr "文件已存在,是否覆盖?" @@ -2343,6 +2338,17 @@ msgid "New Window" msgstr "新窗口" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "编辑器窗口重绘时旋转。" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "导入的资源无法保存。" @@ -2503,9 +2509,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"场景已被导入,所做的更改将不会保留。\n" -"请实例化或继承该场景以允许对其进行更改。\n" -"请阅读与导入场景相关的文档,以更佳理解此工作流。" +"该场景是被导入的场景,不会保留对它的更改。\n" +"实例化或继承该场景就可以对其进行更改。\n" +"请阅读与导入场景相关的文档,以便更好地理解此工作流。" #: editor/editor_node.cpp msgid "" @@ -2560,14 +2566,13 @@ msgstr "是否在关闭前保存对 “%s” 的更改?" msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." -msgstr "" +msgstr "当前场景没有根节点,不过保存了 %d 个已修改的外部资源。" #: editor/editor_node.cpp -#, fuzzy msgid "" "A root node is required to save the scene. You can add a root node using the " "Scene tree dock." -msgstr "必须有根节点才可保存场景。" +msgstr "必须有根节点才能保存场景。你可以通过场景面板添加根节点。" #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2938,9 +2943,8 @@ msgid "Orphan Resource Explorer..." msgstr "孤立资源浏览器..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "重命名项目" +msgstr "重新加载当前项目" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -3088,22 +3092,20 @@ msgid "Help" msgstr "帮助" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "打开文档" +msgstr "在线文档" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "问与答" #: editor/editor_node.cpp msgid "Report a Bug" msgstr "报告问题" #: editor/editor_node.cpp -#, fuzzy msgid "Suggest a Feature" -msgstr "设置值" +msgstr "提交新特性建议" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3114,9 +3116,8 @@ msgid "Community" msgstr "社区" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "关于" +msgstr "关于 Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3168,10 +3169,6 @@ msgid "Save & Restart" msgstr "保存并重启" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "编辑器窗口重绘时旋转。" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "持续更新" @@ -3212,14 +3209,12 @@ msgid "Manage Templates" msgstr "管理模板" #: editor/editor_node.cpp -#, fuzzy msgid "Install from file" msgstr "从文件安装" #: editor/editor_node.cpp -#, fuzzy msgid "Select android sources file" -msgstr "选择源网格:" +msgstr "选择 Android 源文件" #: editor/editor_node.cpp msgid "" @@ -3299,9 +3294,8 @@ msgid "Select" msgstr "选择" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "选择当前文件夹" +msgstr "选择当前" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3336,9 +3330,8 @@ msgid "No sub-resources found." msgstr "找不到子资源。" #: editor/editor_path.cpp -#, fuzzy msgid "Open a list of sub-resources." -msgstr "找不到子资源。" +msgstr "打开子资源列表。" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3365,12 +3358,10 @@ msgid "Update" msgstr "更新" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "版本:" +msgstr "版本" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" msgstr "作者" @@ -3385,14 +3376,12 @@ msgid "Measure:" msgstr "测量:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (ms)" -msgstr "帧时间(秒)" +msgstr "帧时间(毫秒)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (ms)" -msgstr "平均时间(秒)" +msgstr "平均时间(毫秒)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -3419,6 +3408,11 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" +"全部:包括该函数调用的其它函数的时间。\n" +"使用该选项寻找瓶颈。\n" +"\n" +"仅自己:只计算消耗在该函数本身的时间,不包含该函数所调用的其它函数。\n" +"使用该选项寻找需要优化的函数。" #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3536,7 +3530,6 @@ msgid "Paste" msgstr "粘贴" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "转换为 %s" @@ -3586,9 +3579,8 @@ msgid "Did you forget the '_run' method?" msgstr "是否遗漏了 _run() 方法?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold %s to round to integers. Hold Shift for more precise changes." -msgstr "按住 Ctrl 键来取整。 按住 Shift 键获取更精确的变化。" +msgstr "按住 %s 取整。 按住 Shift 获取更精确的变化。" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3608,49 +3600,43 @@ msgstr "从节点中导入:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." -msgstr "" +msgstr "打开包含这些模板的文件夹。" #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "卸载这些模板。" #: editor/export_template_manager.cpp -#, fuzzy msgid "There are no mirrors available." -msgstr "文件 “%s” 不存在。" +msgstr "没有可用的镜像。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving the mirror list..." -msgstr "检索镜像,请等待..." +msgstr "正在获取镜像列表……" #: editor/export_template_manager.cpp msgid "Starting the download..." -msgstr "" +msgstr "正在开始下载……" #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "请求 URL 时出错:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "正在连接镜像网站..." +msgstr "正在连接镜像……" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "无法解析主机名:" +msgstr "无法解析请求地址。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "无法连接到主机:" +msgstr "无法连接到镜像。" #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "主机无响应:" +msgstr "镜像无响应。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3658,18 +3644,16 @@ msgid "Request failed." msgstr "请求失败。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Request ended up in a redirect loop." -msgstr "请求失败,重定向次数过多" +msgstr "请求进入了重定向循环。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "请求失败。" +msgstr "请求失败:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "下载完成;正在解压模板……" #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3688,13 +3672,12 @@ msgid "Error getting the list of mirrors." msgstr "获取镜像列表时出错。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "解析镜像列表 JSON 时出错。请提交此问题!" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "" +msgstr "最佳可用镜像" #: editor/export_template_manager.cpp msgid "" @@ -3745,24 +3728,20 @@ msgid "SSL Handshake Error" msgstr "SSL 握手错误" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't open the export templates file." -msgstr "无法打开 ZIP 导出模板。" +msgstr "无法打开导出模板文件。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "模板中的 version.txt 格式无效:%s。" +msgstr "导出模板中的 version.txt 格式无效:%s。" #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "模板中没有找到 version.txt。" +msgstr "导出模板中没有 version.txt。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for extracting templates:" -msgstr "创建模板路径出错:" +msgstr "为解压模板创建路径时出错:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -3773,9 +3752,8 @@ msgid "Importing:" msgstr "正在导入:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "是否移除模板版本 “%s”?" +msgstr "是否移除模板版本“%s”?" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" @@ -3791,58 +3769,63 @@ msgstr "当前版本:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." -msgstr "" +msgstr "缺失导出模板。请下载或从文件安装。" #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." -msgstr "" +msgstr "导出模板已安装就绪。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Open Folder" -msgstr "打开文件" +msgstr "打开文件夹" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." -msgstr "" +msgstr "打开包含当前版本已安装模板的文件夹。" #: editor/export_template_manager.cpp msgid "Uninstall" msgstr "卸载" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall templates for the current version." -msgstr "计数器初始值" +msgstr "卸载当前版本的模板。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "下载错误" +msgstr "下载:" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "在浏览器中运行" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "复制错误信息" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "下载并安装" #: editor/export_template_manager.cpp msgid "" "Download and install templates for the current version from the best " "possible mirror." -msgstr "" +msgstr "从最佳的镜像下载当前版本的模板并安装。" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." msgstr "开发构建下官方导出模板不可用。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install from File" msgstr "从文件安装" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install templates from a local file." -msgstr "从 ZIP 文件中导入模板" +msgstr "从本地文件安装模板。" #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -3850,19 +3833,16 @@ msgid "Cancel" msgstr "取消" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cancel the download of the templates." -msgstr "无法打开 ZIP 导出模板。" +msgstr "取消下载模板。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Other Installed Versions:" -msgstr "已安装版本:" +msgstr "其它已安装版本:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall Template" -msgstr "卸载" +msgstr "卸载模板" #: editor/export_template_manager.cpp msgid "Select Template File" @@ -3877,6 +3857,8 @@ msgid "" "The templates will continue to download.\n" "You may experience a short editor freeze when they finish." msgstr "" +"模板下载仍会继续。\n" +"完成时你可能会感受到编辑器的短暂冻结。" #: editor/filesystem_dock.cpp msgid "Favorites" @@ -3972,7 +3954,7 @@ msgstr "打开场景" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "实例" +msgstr "实例化" #: editor/filesystem_dock.cpp msgid "Add to Favorites" @@ -4019,35 +4001,32 @@ msgid "Collapse All" msgstr "全部折叠" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "搜索文件" +msgstr "文件排序" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "按名称(升序)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "按名称(降序)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "按类型(升序)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "按类型(降序)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "修改时间" +msgstr "按最近修改" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "修改时间" +msgstr "按最早修改" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4059,7 +4038,7 @@ msgstr "重命名为..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "聚焦搜索框" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4363,14 +4342,12 @@ msgid "Failed to load resource." msgstr "加载资源失败。" #: editor/inspector_dock.cpp -#, fuzzy msgid "Copy Properties" -msgstr "属性" +msgstr "复制属性" #: editor/inspector_dock.cpp -#, fuzzy msgid "Paste Properties" -msgstr "属性" +msgstr "粘贴属性" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -4395,23 +4372,20 @@ msgid "Save As..." msgstr "另存为..." #: editor/inspector_dock.cpp -#, fuzzy msgid "Extra resource options." -msgstr "不在资源路径下。" +msgstr "更多资源选项。" #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource from Clipboard" -msgstr "编辑资源剪贴板" +msgstr "编辑剪贴板中的资源" #: editor/inspector_dock.cpp msgid "Copy Resource" msgstr "复制资源" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Resource Built-In" -msgstr "转为内置" +msgstr "将资源转为内置" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -4426,9 +4400,8 @@ msgid "History of recently edited objects." msgstr "最近编辑历史对象。" #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "打开文档" +msgstr "打开该对象的文档。" #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4439,9 +4412,8 @@ msgid "Filter properties" msgstr "筛选属性" #: editor/inspector_dock.cpp -#, fuzzy msgid "Manage object properties." -msgstr "对象属性。" +msgstr "管理对象属性。" #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4684,9 +4656,8 @@ msgid "Blend:" msgstr "混合:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed:" -msgstr "参数已更改" +msgstr "修改参数:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5408,11 +5379,11 @@ msgstr "全部" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search templates, projects, and demos" -msgstr "" +msgstr "搜索模板、项目、演示" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Search assets (excluding templates, projects, and demos)" -msgstr "" +msgstr "搜索素材(不包含模板、项目、演示)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5456,7 +5427,7 @@ msgstr "素材 ZIP 文件" #: editor/plugins/audio_stream_editor_plugin.cpp msgid "Audio Preview Play/Pause" -msgstr "" +msgstr "音频预览播放/暂停" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5705,13 +5676,12 @@ msgstr "编辑锚点" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" -"游戏相机覆盖\n" -"使用编辑器视图相机覆盖游戏相机。" +"项目相机覆盖\n" +"使用编辑器视图相机覆盖正在运行的项目中的相机。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5720,6 +5690,8 @@ msgid "" "No project instance running. Run the project from the editor to use this " "feature." msgstr "" +"项目相机覆盖\n" +"没有正在运行的项目实例。请先在编辑器中运行项目再使用本功能。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5785,31 +5757,25 @@ msgstr "选择模式" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Drag: Rotate selected node around pivot." -msgstr "移除选中的节点或过渡动画。" +msgstr "拖动:围绕中心点旋转所选节点。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+拖动:移动" +msgstr "Alt+拖动:移动所选节点。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "V: Set selected node's pivot position." -msgstr "移除选中的节点或过渡动画。" +msgstr "V:设置所选节点的中心点位置。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." -msgstr "" -"显示鼠标点击位置的所有节点\n" -"(同 Alt + 鼠标右键)。" +msgstr "Alt+右键:显示点击位置的所有节点列表,包含已锁定节点。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." -msgstr "" +msgstr "右键:在点击位置添加节点。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6045,14 +6011,12 @@ msgid "Clear Pose" msgstr "清除姿势" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Add Node Here" -msgstr "添加节点" +msgstr "在此处添加节点" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Instance Scene Here" -msgstr "实例化场景" +msgstr "在此处实例化场景" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6068,49 +6032,43 @@ msgstr "平移视图" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" -msgstr "" +msgstr "缩放至 3.125%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 6.25%" -msgstr "" +msgstr "缩放至 6.25%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 12.5%" -msgstr "" +msgstr "缩放至 12.5%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 25%" -msgstr "缩小" +msgstr "缩放至 25%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 50%" -msgstr "缩小" +msgstr "缩放至 50%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 100%" -msgstr "缩小" +msgstr "缩放至 100%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 200%" -msgstr "缩小" +msgstr "缩放至 200%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 400%" -msgstr "缩小" +msgstr "缩放至 400%" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Zoom to 800%" -msgstr "缩小" +msgstr "缩放至 800%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 1600%" -msgstr "" +msgstr "缩放至 1600%" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6355,9 +6313,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "无法创建单一凸碰撞形状。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Shape" -msgstr "创建单一凸形状" +msgstr "创建简化凸形状" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -6392,9 +6349,8 @@ msgid "No mesh to debug." msgstr "没有可调试的网格。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "模型在此层上没有 UV" +msgstr "网格在层 %d 上没有 UV。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6458,9 +6414,8 @@ msgstr "" "这是最快(但是最不精确)的碰撞检测手段。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "创建单一凸碰撞同级" +msgstr "创建简化凸碰撞同级" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6468,20 +6423,21 @@ msgid "" "This is similar to single collision shape, but can result in a simpler " "geometry in some cases, at the cost of accuracy." msgstr "" +"创建简化凸碰撞同级。\n" +"与单一碰撞形状类似,但某些情况下产生的形状更简单,代价是牺牲准确性。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" msgstr "创建多个凸碰撞同级" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between a single convex collision and a " "polygon-based collision." msgstr "" "创建基于多边形的碰撞形状。\n" -"这是性能位于上述两种之间的碰撞检测手段。" +"性能位于单一凸形碰撞和多边形碰撞之间。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -7117,24 +7073,20 @@ msgid "ResourcePreloader" msgstr "预加载资源" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portals" -msgstr "水平翻转" +msgstr "翻转门户" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Room Generate Points" -msgstr "生成顶点计数:" +msgstr "房间生成点" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Generate Points" -msgstr "生成顶点计数:" +msgstr "生成点" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Flip Portal" -msgstr "水平翻转" +msgstr "翻转门户" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7692,20 +7644,17 @@ msgid "None" msgstr "无" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "州(State)" +msgstr "旋转" #. TRANSLATORS: This refers to the movement that changes the position of an object. #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate" -msgstr "移动:" +msgstr "平移" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "缩放:" +msgstr "缩放" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7728,52 +7677,44 @@ msgid "Animation Key Inserted." msgstr "插入动画键。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Pitch:" -msgstr "俯仰角" +msgstr "俯仰角:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "偏航角:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "大小: " +msgstr "大小:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Objects Drawn:" -msgstr "绘制对象" +msgstr "绘制对象:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes:" -msgstr "材质变更" +msgstr "材质变更:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes:" -msgstr "着色器变更" +msgstr "着色器变更:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Surface Changes:" -msgstr "表面变更" +msgstr "表面变更:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Draw Calls:" -msgstr "绘制调用" +msgstr "绘制调用:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "顶点" +msgstr "顶点:" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS: %d (%s ms)" -msgstr "" +msgstr "FPS:%d(%s 毫秒)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." @@ -7928,9 +7869,8 @@ msgid "Freelook Slow Modifier" msgstr "缓慢自由视图速度" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "修改摄像机尺寸" +msgstr "开关摄像机预览" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -7950,9 +7890,8 @@ msgstr "" "不能反馈出实际游戏中的性能。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "转换为 %s" +msgstr "转换房间" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -7973,7 +7912,6 @@ msgstr "" "半睁眼:Gizmo 也可穿过不透明的表面可见(“X 光”)。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "将节点吸附至地面" @@ -7991,7 +7929,7 @@ msgstr "使用吸附" #: editor/plugins/spatial_editor_plugin.cpp msgid "Converts rooms for portal culling." -msgstr "" +msgstr "为门户剔除转换房间。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8087,9 +8025,8 @@ msgid "View Grid" msgstr "显示网格" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "视口设置" +msgstr "显示门户剔除" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8409,221 +8346,194 @@ msgid "TextureRegion" msgstr "纹理区域" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Colors" msgstr "颜色" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Fonts" msgstr "字体" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Icons" msgstr "图标" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" -msgstr "样式" +msgstr "样式盒" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} color(s)" -msgstr "" +msgstr "{num} 个颜色" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No colors found." -msgstr "找不到子资源。" +msgstr "没有颜色。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "{num} constant(s)" -msgstr "常量" +msgstr "{num} 个常量" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No constants found." -msgstr "颜色常量。" +msgstr "没有常量。" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} font(s)" -msgstr "" +msgstr "{num} 个字体" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No fonts found." -msgstr "未找到!" +msgstr "没有字体。" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "{num} 个图标" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No icons found." -msgstr "未找到!" +msgstr "没有图标。" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} 个样式盒" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "找不到子资源。" +msgstr "没有样式盒。" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "当前选中 {num} 个" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "没有选中导入任何东西。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Importing Theme Items" -msgstr "导入主题" +msgstr "正在导入主题项目" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "正在导入项目 {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Updating the editor" -msgstr "确定要退出编辑器吗?" +msgstr "正在更新编辑器" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Finalizing" -msgstr "正在分析" +msgstr "正在收尾" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Filter:" -msgstr "过滤: " +msgstr "筛选:" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "含数据" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select by data type:" -msgstr "选择一个节点" +msgstr "按数据类型选择:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible color items." -msgstr "选择一个拆分以擦除它。" +msgstr "选择所有可见的颜色项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "选择所有可见的颜色项目和它们的数据。" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "取消选择所有可见的颜色项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible constant items." -msgstr "请先选择一个设置项!" +msgstr "选择所有可见的常量项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items and their data." -msgstr "" +msgstr "选择所有可见的常量项目和它们的数据。" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible constant items." -msgstr "" +msgstr "取消选择所有可见的常量项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible font items." -msgstr "请先选择一个设置项!" +msgstr "选择所有可见的字体项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." -msgstr "" +msgstr "选择所有可见的字体项目和它们的数据。" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible font items." -msgstr "" +msgstr "取消选择所有可见的字体项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items." -msgstr "请先选择一个设置项!" +msgstr "选择所有可见的图标项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all visible icon items and their data." -msgstr "请先选择一个设置项!" +msgstr "选择所有可见的图标项目和它们的数据。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect all visible icon items." -msgstr "请先选择一个设置项!" +msgstr "取消选择所有可见的图标项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items." -msgstr "" +msgstr "选择所有可见的样式盒项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible stylebox items and their data." -msgstr "" +msgstr "选择所有可见的样式盒项目和它们的数据。" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible stylebox items." -msgstr "" +msgstr "取消选择所有可见的样式盒项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." -msgstr "" +msgstr "注意:添加图标数据可能显著增加主题资源的大小。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Collapse types." -msgstr "全部折叠" +msgstr "折叠类型。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Expand types." -msgstr "全部展开" +msgstr "展开类型。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select all Theme items." -msgstr "选择模板文件" +msgstr "选择所有主题项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select With Data" -msgstr "选择顶点" +msgstr "选择含数据" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "选择所有主题项目及项目数据。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Deselect All" -msgstr "全选" +msgstr "取消全选" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." -msgstr "" +msgstr "取消选择所有主题项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Selected" -msgstr "导入场景" +msgstr "导入所选项" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -8631,271 +8541,241 @@ msgid "" "closing this window.\n" "Close anyway?" msgstr "" +"导入项目选项卡还有选中的项目。关闭本窗口会丢失选项。\n" +"仍然关闭吗?" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Color Items" -msgstr "移除所有项目" +msgstr "移除所有颜色项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Item" -msgstr "移除项目" +msgstr "重命名项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Constant Items" -msgstr "移除所有项目" +msgstr "移除所有常量项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Font Items" -msgstr "移除所有项目" +msgstr "移除所有字体项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Icon Items" -msgstr "移除所有项目" +msgstr "移除所有图标项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" -msgstr "移除所有项目" +msgstr "移除所有样式盒项目" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Color Item" -msgstr "添加类项目" +msgstr "添加颜色项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Constant Item" -msgstr "添加类项目" +msgstr "添加常量项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Font Item" -msgstr "添加项目" +msgstr "添加字体项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Icon Item" -msgstr "添加项目" +msgstr "添加图标项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" -msgstr "添加所有项目" +msgstr "添加样式盒项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Color Item" -msgstr "移除类项目" +msgstr "重命名颜色项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Constant Item" -msgstr "移除类项目" +msgstr "重命名常量项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Font Item" -msgstr "重命名节点" +msgstr "重命名字体项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Icon Item" -msgstr "重命名节点" +msgstr "重命名图标项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" -msgstr "移除选中项目" +msgstr "重命名样式盒项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Invalid file, not a Theme resource." -msgstr "无效文件,不是音频总线布局。" +msgstr "无效文件,不是 Theme 资源。" #: editor/plugins/theme_editor_plugin.cpp msgid "Invalid file, same as the edited Theme resource." -msgstr "" +msgstr "无效文件,与正在编辑的 Theme 资源相同。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Theme Items" -msgstr "管理模板" +msgstr "管理主题项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Items" -msgstr "可编辑的项目" +msgstr "编辑项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" msgstr "类型:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "类型:" +msgstr "添加类型:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item:" -msgstr "添加项目" +msgstr "添加项目:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" -msgstr "添加所有项目" +msgstr "添加样式盒项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Items:" -msgstr "移除项目" +msgstr "移除项目:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" msgstr "移除类项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Items" -msgstr "移除类项目" +msgstr "移除自定义项目" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" msgstr "移除所有项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Theme Item" -msgstr "GUI主题项目" +msgstr "添加主题项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Old Name:" -msgstr "节点名称:" +msgstr "旧名称:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Import Items" -msgstr "导入主题" +msgstr "导入项目" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Theme" -msgstr "默认" +msgstr "默认主题" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editor Theme" -msgstr "编辑主题" +msgstr "编辑器主题" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select Another Theme Resource:" -msgstr "删除资源" +msgstr "选择其它主题资源:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Another Theme" -msgstr "导入主题" +msgstr "其它主题" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Confirm Item Rename" -msgstr "重命名轨道" +msgstr "确认项目重命名" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Cancel Item Rename" -msgstr "批量重命名" +msgstr "取消项目重命名" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override Item" -msgstr "重写" +msgstr "覆盖项目" #: editor/plugins/theme_editor_plugin.cpp msgid "Unpin this StyleBox as a main style." -msgstr "" +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 -#, fuzzy msgid "Add Type" -msgstr "类型" +msgstr "添加类型" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Item Type" -msgstr "添加项目" +msgstr "添加项目类型" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Node Types:" -msgstr "节点类型" +msgstr "节点类型:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Show Default" -msgstr "加载默认" +msgstr "显示默认" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." -msgstr "" +msgstr "将默认类型项目与覆盖后的一起显示。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Override All" -msgstr "重写" +msgstr "全部覆盖" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "" +msgstr "覆盖所有默认类型项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "主题" +msgstr "主题:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Manage Items..." -msgstr "管理导出模板..." +msgstr "管理项目..." #: editor/plugins/theme_editor_plugin.cpp msgid "Add, remove, organize and import Theme items." -msgstr "" +msgstr "添加、移除、组织和导入 Theme 项目。" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Preview" -msgstr "预览" +msgstr "添加预览" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Default Preview" -msgstr "更新预览" +msgstr "默认预览" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Select UI Scene:" -msgstr "选择源网格:" +msgstr "选择 UI 场景:" #: editor/plugins/theme_editor_preview.cpp msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." -msgstr "" +msgstr "开关控件拾取器,可以可视化地选择所需编辑的控件类型。" #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -8930,7 +8810,6 @@ msgid "Checked Radio Item" msgstr "已选单选项目" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" msgstr "带名称的分隔线" @@ -8984,20 +8863,19 @@ msgstr "有, 很多, 选项" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." -msgstr "" +msgstr "无效路径,PackedScene 资源可能已被移动或移除。" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid PackedScene resource, must have a Control node at its root." -msgstr "" +msgstr "无效 PackedScene 资源,根节点必须是 Control 节点。" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Invalid file, not a PackedScene resource." -msgstr "无效文件,不是音频总线布局。" +msgstr "无效文件,不是 PackedScene 资源。" #: editor/plugins/theme_editor_preview.cpp msgid "Reload the scene to reflect its most actual state." -msgstr "" +msgstr "重新加载场景,反映最新状态。" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -10354,9 +10232,8 @@ msgid "VisualShader" msgstr "可视着色器" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property:" -msgstr "编辑可视属性" +msgstr "编辑可视属性:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -10480,9 +10357,8 @@ msgid "Script" msgstr "脚本" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "脚本导出模式:" +msgstr "GDScript 导出模式:" #: editor/project_export.cpp msgid "Text" @@ -10490,21 +10366,19 @@ msgstr "文本" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "编译后的字节码(加载更快)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" msgstr "加密(在下面提供密钥)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "无效的加密密钥(长度必须为 64 个字符)" +msgstr "无效的加密密钥(长度必须为 64 个十六进制字符)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "脚本加密密钥(256 位 16 进制码):" +msgstr "GDScript 加密密钥(256 位十六进制码):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10576,7 +10450,6 @@ msgid "Imported Project" msgstr "已导入的项目" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." msgstr "项目名称无效。" @@ -10792,14 +10665,12 @@ msgid "Are you sure to run %d projects at once?" msgstr "确定要同时运行 %d 个项目吗?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "从列表中选择设备" +msgstr "是否从列表中移除 %d 个项目?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove this project from the list?" -msgstr "从列表中选择设备" +msgstr "是否从列表中移除该项目?" #: editor/project_manager.cpp msgid "" @@ -10831,9 +10702,8 @@ msgid "Project Manager" msgstr "项目管理器" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "项目" +msgstr "本地项目" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -10844,23 +10714,20 @@ msgid "Last Modified" msgstr "修改时间" #: editor/project_manager.cpp -#, fuzzy msgid "Edit Project" -msgstr "导出项目" +msgstr "编辑项目" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "重命名项目" +msgstr "运行项目" #: editor/project_manager.cpp msgid "Scan" msgstr "扫描" #: editor/project_manager.cpp -#, fuzzy msgid "Scan Projects" -msgstr "项目" +msgstr "扫描项目" #: editor/project_manager.cpp msgid "Select a Folder to Scan" @@ -10871,14 +10738,12 @@ msgid "New Project" msgstr "新建项目" #: editor/project_manager.cpp -#, fuzzy msgid "Import Project" -msgstr "已导入的项目" +msgstr "导入项目" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Project" -msgstr "重命名项目" +msgstr "移除项目" #: editor/project_manager.cpp msgid "Remove Missing" @@ -10889,9 +10754,8 @@ msgid "About" msgstr "关于" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "素材库" +msgstr "素材库项目" #: editor/project_manager.cpp msgid "Restart Now" @@ -10903,7 +10767,7 @@ msgstr "移除全部" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "同时删除项目内容(无法撤销!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -10918,19 +10782,17 @@ msgstr "" "是否查看素材库中的官方示例项目?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "筛选属性" +msgstr "筛选项目" #: editor/project_manager.cpp -#, fuzzy msgid "" "This field filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" -"搜索框根据名称和路径的末尾部分来过滤项目。\n" -"如果要根据名称和完整路径过滤,搜索内容应至少包含一个 `/` 字符。" +"该搜索框根据名称和路径的末尾部分来筛选项目。\n" +"如果要根据名称和完整路径筛选,搜索内容应至少包含一个“/”字符。" #: editor/project_settings_editor.cpp msgid "Key " @@ -10938,7 +10800,7 @@ msgstr "按键 " #: editor/project_settings_editor.cpp msgid "Physical Key" -msgstr "" +msgstr "物理按键" #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -10984,7 +10846,7 @@ msgstr "设备" #: editor/project_settings_editor.cpp msgid " (Physical)" -msgstr "" +msgstr " (物理)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11126,23 +10988,20 @@ msgid "Override for Feature" msgstr "重写功能" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add %d Translations" -msgstr "添加翻译" +msgstr "添加 %d 个翻译" #: editor/project_settings_editor.cpp msgid "Remove Translation" msgstr "移除翻译" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "添加资源重定向" +msgstr "翻译资源重定向:添加 %d 个路径" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "添加资源重定向" +msgstr "翻译资源重定向:添加 %d 个重定向" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11581,13 +11440,13 @@ msgstr "是否删除节点 “%s”?" #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires having a scene open in the editor." -msgstr "" +msgstr "将分支保存为场景需要编辑器打开场景。" #: editor/scene_tree_dock.cpp msgid "" "Saving the branch as a scene requires selecting only one node, but you have " "selected %d nodes." -msgstr "" +msgstr "将分支保存为场景需要仅选择一个节点,但你选了 %d 个。" #: editor/scene_tree_dock.cpp msgid "" @@ -11596,6 +11455,9 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"无法将根节点保存为实例化节点。\n" +"如果要创建当前场景的可编辑副本,请在文件系统面板的上下文菜单中复制\n" +"或者使用场景 > 新建继承场景... 创建继承场景。" #: editor/scene_tree_dock.cpp msgid "" @@ -11603,6 +11465,9 @@ msgid "" "To create a variation of a scene, you can make an inherited scene based on " "the instanced scene using Scene > New Inherited Scene... instead." msgstr "" +"无法保存实例化场景分支。\n" +"如果要创建场景的变种,请使用场景 > 新建继承场景... 创建基于该实例化场景的继承" +"场景。" #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -11998,7 +11863,7 @@ msgstr "注意:内置脚本有其局限性,并且不能使用外部编辑器 msgid "" "Warning: Having the script name be the same as a built-in type is usually " "not desired." -msgstr "" +msgstr "警告:脚本名称通常不能与内置类型一致。" #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -12070,7 +11935,7 @@ msgstr "复制错误信息" #: editor/script_editor_debugger.cpp msgid "Open C++ Source on GitHub" -msgstr "" +msgstr "在 GitHub 打开 C++ 源码" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -12142,7 +12007,7 @@ msgstr "格式" #: editor/script_editor_debugger.cpp msgid "Usage" -msgstr "用法" +msgstr "占用" #: editor/script_editor_debugger.cpp msgid "Misc" @@ -12248,6 +12113,16 @@ msgstr "修改圆柱体高度" msgid "Change Ray Shape Length" msgstr "修改射线形状长度" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "设置曲线的顶点坐标" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "设置曲线的顶点坐标" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "改变圆柱体半径" @@ -12357,14 +12232,12 @@ msgid "Object can't provide a length." msgstr "对象无法提供长度。" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "导出网格库" +msgstr "导出网格 GLTF2" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export GLTF..." -msgstr "导出..." +msgstr "导出 GLTF..." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -12404,12 +12277,11 @@ msgstr "网格地图粘贴所选项" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" -msgstr "绘制栅格图" +msgstr "网格地图绘制" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "网格地图填充所选项" +msgstr "网格地图选择" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12656,14 +12528,12 @@ msgid "Add Output Port" msgstr "增加输出端口" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "更改类型" +msgstr "更改端口类型" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "更改输入端口名称" +msgstr "更改端口名称" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -12774,7 +12644,6 @@ msgid "Add Preload Node" msgstr "添加预载 (Preload) 节点" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" msgstr "添加节点" @@ -13034,37 +12903,31 @@ msgstr "从列表中选择设备" #: platform/android/export/export.cpp msgid "Running on %s" -msgstr "" +msgstr "正运行于 %d" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "全部导出" +msgstr "正在导出 APK……" #: platform/android/export/export.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "卸载" +msgstr "正在卸载……" #: platform/android/export/export.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "正在加载,请稍候……" +msgstr "正在安装到设备,请稍候……" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "无法实例化场景!" +msgstr "无法安装到设备:%s" #: platform/android/export/export.cpp -#, fuzzy msgid "Running on device..." -msgstr "执行自定义脚本..." +msgstr "正在设备上运行……" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "无法创建文件夹。" +msgstr "无法在设备上运行。" #: platform/android/export/export.cpp msgid "Unable to find the 'apksigner' tool." @@ -13173,40 +13036,37 @@ msgid "" "directory.\n" "The resulting %s is unsigned." msgstr "" +"无法找到“apksigner”。\n" +"请检查 Android SDK 的 build-tools 目录中是否有此命令。\n" +"生成的 %s 未签名。" #: platform/android/export/export.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "正在签名调试 %s……" #: platform/android/export/export.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"正在扫描文件,\n" -"请稍候……" +msgstr "正在签名发布 %s……" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "无法打开导出模板:" +msgstr "找不到密钥库,无法导出。" #: platform/android/export/export.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "“apksigner”返回错误 #%d" #: platform/android/export/export.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "正在添加 %s..." +msgstr "正在校验 %s……" #: platform/android/export/export.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "“apksigner”校验 %s 失败。" #: platform/android/export/export.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "全部导出" +msgstr "正在为 Android 导出" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13222,7 +13082,7 @@ msgstr "无效文件名!Android APK 必须有 *.apk 扩展。" #: platform/android/export/export.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "不支持的导出格式!\n" #: platform/android/export/export.cpp msgid "" @@ -13246,17 +13106,15 @@ msgstr "" #: platform/android/export/export.cpp msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name" -msgstr "" +msgstr "无法使用项目名称覆盖 res://android/build/res/*.xml 文件" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "无法在项目目录下找到project.godot文件。" +msgstr "无法将项目文件导出至 gradle 项目\n" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "无法写入文件:" +msgstr "无法写入扩展包文件!" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -13281,21 +13139,20 @@ msgid "" msgstr "无法复制与更名导出文件,请在 Gradle 项目文件夹内确认输出。" #: platform/android/export/export.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "没有动画: “%s”" +msgstr "包不存在:%s" #: platform/android/export/export.cpp -#, fuzzy msgid "Creating APK..." -msgstr "正在创建轮廓..." +msgstr "正在创建 APK……" #: platform/android/export/export.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "无法打开导出模板:" +msgstr "" +"找不到导出模板 APK:\n" +"%s" #: platform/android/export/export.cpp msgid "" @@ -13304,24 +13161,24 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"导出模板缺失所选架构的库:%s。\n" +"请使用全部所需的库构建模板,或者在导出预设中取消对缺失架构的选择。" #: platform/android/export/export.cpp -#, fuzzy msgid "Adding files..." -msgstr "正在添加 %s..." +msgstr "正在添加文件……" #: platform/android/export/export.cpp -#, fuzzy msgid "Could not export project files" -msgstr "无法写入文件:" +msgstr "无法导出项目文件" #: platform/android/export/export.cpp msgid "Aligning APK..." -msgstr "对齐 APK..." +msgstr "正在对齐 APK……" #: platform/android/export/export.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "无法解压未对齐的临时 APK。" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13368,45 +13225,40 @@ msgid "Could not write file:" msgstr "无法写入文件:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file:" -msgstr "无法写入文件:" +msgstr "无法读取文件:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "无法读取自定义 HTML 壳层:" +msgstr "无法读取 HTML 壳:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "无法创建文件夹。" +msgstr "无法创建 HTTP 服务器目录:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "保存场景出错。" +msgstr "启动 HTTP 服务器时出错:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "无效的标识符:" +msgstr "无效的包标识符:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "公证:需要代码签名。" #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "公证:需要加强的运行时环境。" #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "公证:未指定 Apple ID 名称。" #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "公证:未指定 Apple ID 密码。" #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -13799,6 +13651,8 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"因为存在已知问题,GIProbe Compress 属性已被启用,不会再起任何作用。\n" +"如果要移除本警告,请禁用 GIProbe 的 Compress 属性。" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -13882,15 +13736,15 @@ msgstr "Node A 与 Node B 必须为不同的 PhysicsBody" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." -msgstr "" +msgstr "RoomManager 不应该是 Portal 的子节点或孙节点。" #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." -msgstr "" +msgstr "Room 不应该是 Portal 的子节点或孙节点。" #: scene/3d/portal.cpp msgid "A RoomGroup should not be a child or grandchild of a Portal." -msgstr "" +msgstr "RoomGroup 不应该是 Portal 的子节点或孙节点。" #: scene/3d/remote_transform.cpp msgid "" @@ -13901,42 +13755,82 @@ msgstr "" #: scene/3d/room.cpp msgid "A Room cannot have another Room as a child or grandchild." -msgstr "" +msgstr "Room 不能是另一个 Room 的子节点或孙节点。" #: scene/3d/room.cpp msgid "The RoomManager should not be placed inside a Room." -msgstr "" +msgstr "RoomManager 不应该被放置在 Room 中。" #: scene/3d/room.cpp msgid "A RoomGroup should not be placed inside a Room." -msgstr "" +msgstr "RoomGroup 不应该被放置在 Room 中。" #: scene/3d/room.cpp msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"房间的凸包中包含大量平面。\n" +"为了提升性能,请考虑简化房间的边界。" #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." -msgstr "" +msgstr "RoomManager 不应该被放置在 RoomGroup 中。" #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "RoomList 尚未赋值。" #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." -msgstr "" +msgstr "RoomList 节点应该是 Spatial(或者派生自 Spatial)。" #: scene/3d/room_manager.cpp msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"Portal Depth Limit 被设置为零。\n" +"仅会渲染摄像机所在房间。" #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." +msgstr "场景树中仅能存在一个 RoomManager。" + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." msgstr "" #: scene/3d/soft_body.cpp @@ -13999,7 +13893,7 @@ msgstr "没有动画: “%s”" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "动画应用重置" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14165,25 +14059,24 @@ msgid "Invalid comparison function for that type." msgstr "该类型的比较功能无效。" #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "变量只能在顶点函数中指定。" +msgstr "Varying 不能在“%s”函数中赋值。" #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." -msgstr "" +msgstr "已在“vertex”函数中赋值的 varying 不能在“fragment”或“light”中重新赋值。" #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." -msgstr "" +msgstr "已在“fragment”函数中赋值的 varying 不能在“vertex”或“light”中重新赋值。" #: servers/visual/shader_language.cpp msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" +msgstr "不能在自定义函数中访问片段 varying!" #: servers/visual/shader_language.cpp msgid "Assignment to function." @@ -15184,9 +15077,6 @@ msgstr "不允许修改常量。" #~ msgid "I see..." #~ msgstr "好吧..." -#~ msgid "Can't open '%s'." -#~ msgstr "无法打开 \"%s\"。" - #~ msgid "Ugh" #~ msgstr "呃" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 9cae040eb4..e5327f79d9 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -361,6 +361,7 @@ msgstr "更改動畫循環" msgid "Remove Anim Track" msgstr "移除動畫軌跡" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp #, fuzzy msgid "Create NEW track for %s and insert key?" @@ -389,10 +390,28 @@ msgstr "新增" msgid "Anim Insert" msgstr "插入動畫" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "不能連接。" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "新增動畫" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "內容" + #: editor/animation_track_editor.cpp #, fuzzy msgid "Anim Create & Insert" @@ -990,7 +1009,7 @@ msgstr "新增" msgid "No results for \"%s\"." msgstr "" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2367,6 +2386,17 @@ msgid "New Window" msgstr "" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "" @@ -3209,10 +3239,6 @@ msgid "Save & Restart" msgstr "儲存檔案" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp #, fuzzy msgid "Update Continuously" msgstr "連續" @@ -3873,6 +3899,16 @@ msgid "Download from:" msgstr "下載出現錯誤" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "瀏覽" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "載入錯誤" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8886,6 +8922,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "移除選項" @@ -8916,6 +8958,12 @@ msgid "Remove All StyleBox Items" msgstr "移除選項" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "加到最愛" @@ -12581,6 +12629,16 @@ msgstr "" msgid "Change Ray Shape Length" msgstr "" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "只限選中" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "只限選中" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "" @@ -14267,6 +14325,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "" @@ -14917,10 +15011,6 @@ msgstr "" #~ msgstr "多謝!" #, fuzzy -#~ msgid "Can't open '%s'." -#~ msgstr "不能連接。" - -#, fuzzy #~ msgid "Ugh" #~ msgstr "嗯......" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 2b4dd0fc03..4fc48abd03 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -360,6 +360,7 @@ msgstr "更改動畫循環模式" msgid "Remove Anim Track" msgstr "刪除動畫軌" +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" msgstr "確定要為 %s 建立動畫軌並插入關鍵畫格嗎?" @@ -384,10 +385,28 @@ msgstr "建立" msgid "Anim Insert" msgstr "插入動畫" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "node '%s'" +msgstr "無法開啟 \"%s\"。" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "animation" +msgstr "動畫" + #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer 不能播放自己,只可播放其他 Player。" +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "property '%s'" +msgstr "屬性「%s」不存在。" + #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "新增並插入動畫" @@ -955,7 +974,7 @@ msgstr "建立新的 %s" msgid "No results for \"%s\"." msgstr "找不到與「%s」相關的結果。" -#: editor/create_dialog.cpp +#: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." msgstr "" @@ -2292,6 +2311,17 @@ msgid "New Window" msgstr "新視窗" #: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "編輯器視窗重新繪製時旋轉。" + +#: editor/editor_node.cpp msgid "Imported resources can't be saved." msgstr "匯入的資源無法保存。" @@ -3115,10 +3145,6 @@ msgid "Save & Restart" msgstr "保存並重新啟動" #: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "編輯器視窗重新繪製時旋轉。" - -#: editor/editor_node.cpp msgid "Update Continuously" msgstr "持續更新" @@ -3768,6 +3794,16 @@ msgid "Download from:" msgstr "下載錯誤" #: editor/export_template_manager.cpp +#, fuzzy +msgid "Open in Web Browser" +msgstr "在瀏覽器中執行" + +#: editor/export_template_manager.cpp +#, fuzzy +msgid "Copy Mirror URL" +msgstr "複製錯誤" + +#: editor/export_template_manager.cpp msgid "Download and Install" msgstr "" @@ -8581,6 +8617,12 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All Color Items" msgstr "移除所有項目" @@ -8611,6 +8653,12 @@ msgid "Remove All StyleBox Items" msgstr "移除所有項目" #: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Color Item" msgstr "新增類別項目" @@ -12194,6 +12242,16 @@ msgstr "更改圓柱形高度" msgid "Change Ray Shape Length" msgstr "更改射線形長度" +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Room Point Position" +msgstr "設定曲線控制點位置" + +#: editor/spatial_editor_gizmos.cpp +#, fuzzy +msgid "Set Portal Point Position" +msgstr "設定曲線控制點位置" + #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" msgstr "更改圓柱體半徑" @@ -13887,6 +13945,42 @@ msgstr "" msgid "There should only be one RoomManager in the SceneTree." msgstr "" +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." msgstr "該形體在設定網格前都將被忽略。" @@ -14806,9 +14900,6 @@ msgstr "不可修改常數。" #~ msgid "Thanks!" #~ msgstr "謝謝!" -#~ msgid "Can't open '%s'." -#~ msgstr "無法開啟 \"%s\"。" - #~ msgid "Ugh" #~ msgstr "呃" |